Evite que la PC se apague con el botón de encendido

9

Estoy construyendo una PC y un BeagleBords ARM integrado para uso público. Ejecutan Ubuntu 13.04 y Linux ensamblado manualmente, respectivamente. ¿Hay alguna manera de evitar que se apaguen presionando el botón Apagar (en la carcasa, no en el teclado)? Claro, puedo hacerlo en hardware. Prefiero las soluciones de software. Si alguien puede decir con certeza "esto es imposible", sería una respuesta útil también.

Resultado: Ok, lo entendí. Se puede evitar el apagado en la prensa, pero no en la prensa larga. Tendré que hacer un cambio de hardware para desconectar el botón de encendido cuando sea necesario.

Barafu Albino
fuente
¿Necesita evitar presionar teclas deliberadamente o accidentalmente? Tenga en cuenta que generalmente hay otras formas de reiniciar / apagar un sistema, incluido Magic SysReq (se puede deshabilitar) y cambiar a TTY y luego reiniciar con Ctrl-Alt-Delete.
Lekensteyn
user173876 mencionó algo (en una respuesta sin respuesta que eliminamos) que puede merecer consideración: varias veces he encontrado situaciones (en mi caso durante una operación GIMP) cuando todos los lanzadores de pantalla Y el teclado dejaron de responder, incluido Ctl-Alt- T, Alt-F1 ... F6, Ctl-Alt-Del, Ctl-Alt-BkSp, y el ÚNICO recurso era usar el botón de encendido para apagar / reiniciar. Quitar esta capacidad puede dejarle tener que quitar la batería y / o tirar del cable de alimentación. O aplastándolo con un martillo.
Eliah Kagan

Respuestas:

3

Puede usar el siguiente comando en la terminal :

sudo chmod -x /sbin/shutdown

Si desea volver a habilitar, use +xen su lugar -xen el mismo comando.

De todos modos, manteniendo presionado el botón de encendido durante varios segundos, la solución anterior no funcionará y no creo que encuentre una solución de software para este caso.

Radu Rădeanu
fuente
Debe usar dpkg-statoverride para mantener los permisos persistentes a través de una upstartactualización. Ejemplo: sudo dpkg-statoverride --add root root 0644 /sbin/shutdown. Sin embargo, debe tenerse en cuenta que al eliminar los permisos de ejecución se rompe la opción de apagado para todos los usuarios de este programa (incluidos poweroffy halt).
Lekensteyn
3

Es imposible. Debe mantener físicamente alejado al público del interruptor de encendido, al igual que debe evitar que tiren del cable de alimentación de la pared o que agarren toda la máquina y salgan corriendo.

psusi
fuente
No estoy convencido de que sea imposible. El software es responsable de iniciar el apagado. ¿De qué otra manera su escritorio tendría la oportunidad de mostrar el menú de apagado o finalizar programas con gracia?
Lekensteyn
@Lekensteyn, no es cuando mantienes presionado el botón durante 4 segundos.
psusi
Cinco segundos, ¿no es así? De hecho, es un interruptor que no se puede anular, pero al presionar (... y soltarlo inmediatamente) el botón de apagado es manejado una vez por ACPI, lo que significa que puede ser interceptado e ignorado. Sin embargo, tiene razón, es probable que el OP esté considerando intentos deliberados de apagar el sistema.
Lekensteyn
2

Necesitas alterar ...

/etc/acpi/powerbtn.sh

y comentar esta línea (ya agregué el #) ...

#/sbin/shutdown -h now "Power button pressed"
  • Esto solo afecta el botón de encendido y no el apagado desde el menú.
  • Pero también tenga en cuenta el error 1124149 que afirma que debido a un movimiento de / usr / bin / qdbus a / usr / lib / i386-linux-gnu / qt4 / bin / qdbus, es posible que no siempre funcione (el error también afecta a Ubuntu).
Rinzwind
fuente
Esta solución no tiene ningún efecto en mi sistema.
Radu Rădeanu
Ese será el error @ RaduRădeanu :) Funciona en 12.10 en el trabajo; y tampoco en mi máquina en casa (que tiene 13.04). Entonces, mientras tanto, use el método de Radu, pero eso probablemente también afecte a otros botones del teclado.
Rinzwind
Eso no dejará de mantener presionado el botón de encendido durante 4 segundos;)
psusi