¿Cómo evitar que el botón de encendido apague directamente el sistema?

23

Hice una nueva instalación de Ubuntu 13.10. Cuando presiono el botón de encendido, mi computadora se apaga inmediatamente. En Ubuntu 13.04 obtuve un buen menú, donde podía elegir qué hacer. Se ha ido ahora y lo quiero de vuelta. Aquí está mi /etc/acpi/powerbtn.sh en pastebin.

Ya lo hice

gsettings set org.gnome.settings-daemon.plugins.power button-WORD 'interactive'

donde WORDes hibernate, power, sleepy suspend.

Wauzl
fuente
1
Revisé mi /etc/acpi/powerbtn.shy descubrí que simplemente no hace nada. El menú del que estoy hablando puede ser convocado por el comandognome-session-quit --power-off
Wauzl
lulz Ojalá hubiera leído tu comentario antes de ir a una búsqueda inútil tratando de encontrar ese comando.
¿Mi respuesta no funcionó para ti?
Voté su respuesta y estoy seguro de que hubiera funcionado; Reinstalé todo mi sistema. También he tenido otros problemas. Esto (obviamente) lo arregló para mí.
Wauzl
ah, k. Acabo de ver que te detuviste en el sitio sin comentarios, así que pensé que la notificación podría haberse perdido. extraño, totalmente reinstalación solucionó esto? ¿Has descargado la última versión 13.10? Hice una nueva instalación y recientemente tuve este problema.

Respuestas:

29

Revisa tu /etc/systemd/logind.confarchivo. Debe tener un aspecto como este:

[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#Controllers=
#ResetControllers=cpu
#InhibitDelayMaxSec=5
#HandlePowerKey=poweroff
#HandleSuspendKey=suspend
#HandleHibernateKey=hibernate
#HandleLidSwitch=suspend
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#IdleAction=ignore
#IdleActionSec=30min

Descomente la línea que dice #HandlePowerKey=poweroffy cambie el valor a ignore.

Luego reinicie el inicio de sesión con el comando: sudo restart systemd-logindo reinicie su computadora.

EDITAR: cómo crear un nuevo controlador acpi Crear un nuevo archivo en /etc/acpi/events/. El contenido del archivo debe ser:

event=<acpi_event_code>
action=<script_to_call>

dónde <acpi_event_code>está el código que obtienes usando la acpi_listenherramienta y <script_to_call>es la ruta completa al script al que deseas llamar cuando ocurre ese evento.

Deben haber cambiado algo en 13.10 porque parece que tengo muy pocos archivos en mi carpeta / etc / accpi / events en comparación con el 13.04.

jeremija
fuente
Esto no me devuelve mi querido menú. Simplemente no hace nada cuando presiono el botón de encendido ahora.
Wauzl
Si powerbtn.sh se ejecuta realmente cuando se presiona el botón de encendido, puede intentar ejecutar el comando de menú de apagado si el servidor X se está ejecutando y gnome es su entorno de escritorio. Eche un vistazo a la salida del exportcomando para determinar qué variables probar. Si el script powerbtn.sh no se ejecuta en absoluto, puede intentar ver a qué evento acpi se debe vincular ejecutando acpi_listeny presionando el botón de encendido. Además, quizás haya una opción en gnome para recuperar el menú de encendido, pero no estoy seguro, ya que ha pasado un tiempo desde la última vez que usé gnome.
jeremija
Intenté esto y powerbtn.sh(probablemente) no se ejecuta, porque no pasa nada cuando presiono el botón. El acpi_listenme dice que el botón desencadena un evento acpi. Lamentablemente, mis teclas para subir y bajar el volumen tampoco funcionan. Tal vez esto está relacionado?
Wauzl
Puede intentar lo siguiente: grep "<acpi_event_code>" /etc/acpi/events/*dónde <acpi_event_code>está el código del evento acpi que vio en acpi_listen. Si obtiene un resultado, vea ese archivo y vea el nombre del script que llama. Si no obtiene un resultado, puede intentar agregar un nuevo archivo en el /etc/acpi/events/. Vea la respuesta editada para más detalles.
jeremija
Confirme que esto funciona con 16.04 LTS en mi mac.
Benjamin R
4

jeremijah me puso en el camino correcto, así que felicitaciones!

Edité /etc/systemd/logind.confsegún lo recomendado, pero también hice esto .

Comunidad
fuente
1

Si las soluciones anteriores no funcionan para usted, aquí hay una solución rápida:

  • Instalar xtrlock

Esta utilidad hace el trabajo por ti. Aunque esto puede no responder la pregunta, en las muchas soluciones que he probado (incluidas las de esta página) ninguna parece funcionar

Instalar:

sudo apt install xtrlock 

Para usar: escriba xtrlockla línea de comando. Esto congelará el mouse y el teclado.

Para desbloquear, escriba su contraseña y presione [Entrar]


También puede congelar su botón de encendido.

PD: esta solución es particularmente útil para aquellos que tienen hijos y desean que el botón de encendido esté deshabilitado por ese motivo.

xtrlock - Bloquee la pantalla X hasta que se proporcione la contraseña, dejando las ventanas visibles Fuente: http://manpages.ubuntu.com/manpages/artful/man1/xtrlock.1x.html

Dody Body
fuente
Por favor expanda su respuesta. ¿Esta aplicación está disponible en los repositorios? ¿Cómo lo instaló, por línea de comando o por medio del Centro de software de Ubuntu? Si a través de la línea de comando, ¿qué comando usaste? ¿Lo configuraste, de cómo?
user68186
1

Primero, puede editar su archivo de mapa de teclas para cambiar el comportamiento del botón de encendido y asignarlo a otra tecla

Edite el archivo: /usr/share/X11/xkb/symbols/inet(edite la clave POWR)

Entonces deberá deshabilitar el botón de encendido de manera eficiente, un buen método es con xinput

ejecutar xinput --listbotones de encendido tienen su propia entrada ... seleccione el número de dispositivo y luego ejecutar

xinput disable devnumber algo como xinput disable 8

intika
fuente