Compré la computadora portátil ROG G551JM Asus que demostró ser compatible con Ubuntu. El teclado de la computadora está mal diseñado con la tecla "Poweroff" como una tecla ordinaria, colocada en el lugar, donde generalmente se encuentra la tecla "Fin". De lo contrario, la computadora está bien, así que la compré suponiendo que de alguna manera podría "solucionar" el problema, es decir, reasignar el botón PowerOff en la tecla "Fin".
El botón PowerOff está mal (ASUS G551JM):

Normalmente hay una tecla «Fin» (ASUS N56VZ):

Los eventos de botón "de apagado" son producidas por el /dev/input/event2: Power Buttondispositivo (como se informa por evtest) con código 116 (ejemplo de línea de evtest: Event: time 1422895638.246142, type 1 (EV_KEY), code 116 (KEY_POWER), value 1)
La clave también es visible para el servidor X, y finalmente Ubuntu puede identificar las pulsaciones de teclas como una PowerOfftecla y lanza el cuadro de diálogo semitransparente "Adiós usuario Adam ..." que confirma mi voluntad de apagar la computadora.
El problema es que el enlace que une la tecla PowerOff con la rutina que muestra ese diálogo de confirmación no es visible en dconf-editor y no tengo idea de dónde encontrarlo.
¿Alguien puede decirme dónde cambiar (o eliminar) el enlace predeterminado para la tecla PowerOff?
Debería ser algo fácil.
editar 21.IX.2016:
Hay una manera de deshabilitar permanentemente el cuadro de diálogo, consulte ¿Cómo modifico las opciones para el botón de encendido? . Espero que después de deshabilitar el botón de encendido, sea posible reasignarlo a otra cosa.
fuente

HomeyEndson las teclas "meta" que más uso ... :(Respuestas:
Pude hacerlo funcionar en mi ASUS N751JK en Ubuntu 18.04 LTS y Ubuntu 16.04 LTS (probado con el entorno de escritorio Unity en ambos casos y KDE Plasma en 18.04):
En primer lugar, configure la acción del botón "Apagar" en
nothing.Unidad
Como se menciona en la respuesta de Johano Fierra :
o alternativamente
sudo apt install dconf-toolsy usardconf-editorpara cambiar laorg.gnome.settings-daemon.plugins.powerpropiedad (como se describe aquí ). Se requiere reiniciar o cerrar sesión para que funcione.KDE
Vaya a "Configuración del sistema" , seleccione la pestaña "Administración de energía" en la sección "Hardware" y luego seleccione la pestaña "Ahorro de energía" , desplácese hacia abajo, busque la lista desplegable "Al presionar el botón de encendido" y cambie su valor a "No hacer nada" . Haga clic en el botón "Aplicar" para que los cambios surtan efecto.
Instalar xdotool :
Este nos permitirá activar eventos clave.
El siguiente paso es activar la tecla "Fin" al presionar el botón "Apagar" .
Ubuntu 18.04
Cree un
/etc/acpi/events/powerarchivo con los siguientes contenidos:y crea un
/etc/acpi/power.shscript con los siguientes contenidos:y agregarle permisos de ejecución:
Ubuntu 16.04
Secuencia de comandos ACPI de respaldo utilizada para manejar el evento del botón "Apagar" :
Luego edítelo, encuentre lo siguiente:
y modifique el código a continuación para que se vea así:
Para aplicar estos cambios, se debe ejecutar:
Gracias a Adam , es posible reiniciar
acpidautomáticamente cuando un usuario inicia sesión (en el arranque del sistema). Entonces, en lugar del manualsudo acpid restarten la terminal cada vez que se reinicie, agregue la siguiente línea:hasta el final del
/etc/pam.d/common-sessionarchivo.fuente
sudo acpid reloadlugar de reiniciar? Funcionaría eso?acpid restartproblema es agregar una líneasession optional pam_exec.so /usr/sbin/acpid restartal final de/etc/pam.d/common-session. De esta forma, el acpid se reiniciará justo después del inicio de sesión del usuario y esto es suficiente para mí. ¡Problema resuelto por fin!gsettings setlugar degsettings get.sudo chmod +x /etc/acpi/power.sh@Ezze, tal vez podría actualizar su respuesta para incluir esto.Esto debería funcionar.
Ingrese en la terminal:
fuente
xevcomando y evitaxmodmapvolver a asignarlo. Y, por cierto, el código clave del botón "Apagar" puede ser diferente (124 para mi ASUS N751JK).gsettings set org.gnome.settings-daemon.plugins.power button-power "shutdown"(al presionar el botón se captura), luego edite/etc/acpi/events/powerbtny comente la línea#action=/etc/acpi/powerbtn.sh, y luego ingrese en la terminal:xmodmap -e "keycode 124 = End"Esto debería evitar que el botón de encendido haga algo y al mismo tiempo asignarlo a la tecla Finalizar.powerbtn.shscript sino también por (al menos)systemd-logindservicio (probablemente, utiliza labutton-powerconfiguración que mencionó en su respuesta). Puede encontrarif pidof systemd-logind >/dev/null; then... laexit 0línea enpowerbtn.shla que el script permitesystemd-logindcontrolar el evento "Apagar" por sí solo cuando la sesión de escritorio está activa. Algo en lo que tiene razón: cambiar elbutton-powervalor no afecta la capacidad de capturar la clave, pero ya está capturada por algún proceso (systemd-logindu otro).