Apagado desde el botón del ordenador


  • 0

    A ver si me podeis decir si se puede hacer esto o no en Linux. Como sabreis en cualquier ordenador moderno (ATX) con Windows, si pulsas el boton de apagado del ordenador, el sistema se cierra de una manera ordenada, como si hubieramos elegido la opción 'apagar' en el menú correspondiente. ¿Como puedo hacer esto en Linux?.

    Esto viene porque la semana pasada, con el calorcillo que hacía (ventanas abiertas) y lo relativamente silencioso que es mi ordenador, fuí a encenderlo sin acordarme que ya estaba encendido porque estaba descargando cosas con la mulilla. Cuando encendí de nuevo no fuí capaz de retomar las descargas (estaban en FAT32), así que todo al carajo. :rabieta:

    Saludos y gracias.



  • 1

    Hola :)

    Si tu pc soporta acpi tan sólo tienes que activar su soporte en kernel e instalar acpid y seguramente sin tocar nada más debería funcionar. En cambio si tu pc tiene soporte apm en vez de acpi ya si que no se como se hace.
    Mi portaka lleva acpi y dándole al boton de apagar se apaga solito, en cambio el desktop no lleva soporte acpi y no se apaga bien; tendré que mirar a ver cómo se hace.

    Salu2



  • 2

    Me sonsaba que por ahí tenia que andar el tema. Le echaré un vistazo a ver si encuentro algo.

    Saludos y gracias.



  • 3

    Para comprobar si tu kernel tiene soporte ACPI:

    cat /proc/acpi/info

    si no tiene soporte activalo en el kernel, recompilalo y reiniciar con el nuevo kernel.

    Luego instala el acpid, en Gentoo seria asi:

    emerge acpid

    Añadelo al inicio, en gentoo seria asi:

    rc-update add acpid default

    Edita el archivo de configuracion para asignar acciones a los eventos. Hay muchos eventos, pulsado del boton de apagado, velocidad de los ventiladores, alarma de temperatura del CPU (esto solo en portatiles),…

    En mi caso, que solo quiero controlar el boton de apagado, tengo esto en el archivo /etc/acpi/events/default :

    event=.*
    action=/etc/acpi/default.sh %e

    Y en el archvio etc/acpi/default.sh tengo :

    #!/bin/sh

    Default acpi script that takes an entry for all actions

    set $*

    group=${1///}
    action=${1/
    //}

    case "$group" in
    button)
    case "$action" in
    power) /sbin/init 0
    ;;
    *) logger "ACPI action $action is not defined"
    ;;
    esac
    ;;

    *)
    logger "ACPI group $group / action $action is not defined"
    ;;
    esac

    Saludozzzzzzz



  • 4

    La leshe!, asi que toca recompilar el kernel!. Pués nada, con mucha calma me imprimiré algun HOW-TO como el de Elfo, que aún no me había metido a esa tarea y ya va tocando. A ver si este finde me pilla con ganas y me lío. Postearé aquí los resultados. Por cierto, es un kernel 2.6.3 de Mandrake 10.0, no se si los 2.6.x son iguales que los 2.4.x a la hora de compilar.

    Saludos y gracias por las respuestas.



  • 5

    Los 2.6.X son aun mas faciles de compilar que los 2.4.x

    en los 2.4.x hacias:
    make dep && make clean && make bzImage && make modules && make modules_install

    y en los 2.6.x solo haces:
    make && make modules_install

    Por cierto, no desactives el soprorte para APM, no pasa nada por tener los dos, asi si por lo que sea falla el ACPI, el kernel usará APM.

    Tambien recuerdaa que si tu bios tiene alguna opcion para controlar el ACPI, tiene que estar activada.

    Un saludo.



  • 6

    Bueno, pués al final resulta que no me ha hecho falta compilar nada, porque Mandrake ya viene con el nucleo preparado por defecto. Solo me ha hecho falta instalar el paquete de 'acpid' más otro similar (por si las moscas) con sus respectivas dependencias. Después solo activar el ACPI al inicio y ya está, apagándose como Diós manda y no de sopetón. De todos modos queda pendiente el tema de recompilar nucleos, que si no menudo linuxero sería ;).

    Saludos.



  • 7

    make && make modules_install

    Si?? yo siempre hago make bzImage modules modules_install en los 2.6.X:o, entonces, con sólo poner eso te hace también la imagen comprimida del kernel?



  • 8

    Si?? yo siempre hago make bzImage modules modules_install en los 2.6.X, entonces, con sólo poner eso te hace también la imagen comprimida del kernel?

    Sí, con hacer "make" ya te hace el bzImage :p Salu2!!



  • 9

    Solo decir que tampoco son necesarios tantos && en los 2.4

    make dep && make clean bzImage modules modules_install





Has perdido la conexión. Reconectando a Hardlimit.