Allow users to shutdown (Español)
Eventos de botones y de tapa
El presionado de los botones de suspensión, apagado e hibernación y los eventos de cierre de la tapa se controlan mediante logind como se describe en la página Gestión de energía#Eventos de ACPI.
Utilizar systemd-logind
Si está utilizando systemd (el cual está implementado de manera predeterminada en Arch Linux) e instala polkit, los usuarios con sesión no remota pueden emitir comandos relacionados con la alimentación eléctrica siempre que la sesión no esté rota.
Para comprobar si su sesión está activa
$ loginctl show-session $XDG_SESSION_ID --property=Active
El usuario puede usar entonces los comandos systemctl en la línea de comandos, o añadirlos a los menús:
$ systemctl poweroff $ systemctl reboot
También se pueden usar otros comandos, incluyendo systemctl suspend
y systemctl hibernate
. Veáse la sección System Commands en systemctl(1).
Utilizar sudo
Instale sudo, y otorgue al usuario privilegios sudo. El usuario podrá usar entonces los comandos sudo systemctl
(por ejemplo, sudo systemctl poweroff
, sudo systemctl reboot
, sudo systemctl suspend
y sudo systemctl hibernate
). Véase la sección System Commands en systemctl(1)
Usuarios sin privilegios sudo
Si a los usuarios solo se les permite usar comandos de apagado, pero no tienen otros privilegios sudo, entonces, como root, agregue lo siguiente al final de /etc/sudoers
usando el comando visudo
. Sustituya usuario por su nombre de usuario y nombre_del_host por el nombre de host de la máquina.
usuario nombre_del_host =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot
Ahora su usuario puede apagar con sudo systemctl poweroff
, y reiniciar con sudo systemctl reboot
. Los usuarios que deseen apagar un sistema también pueden usar sudo systemctl halt
. Use la etiqueta NOPASSWD:
solo si no desea que se le solicite su contraseña.
Crear alias
Para su comodidad, puede agregar estos alias a su ~/.bashrc
de su usuario si lo tiene habilitado (o a /etc/bash.bashrc
para una configuración global de todo el sistema):
alias reboot="sudo systemctl reboot" alias poweroff="sudo systemctl poweroff" alias halt="sudo systemctl halt"
Esto también se puede hacer instalando systemd-sysvcompat. Este paquete crea enlaces simbólicos del respectivo nombre a systemctl.