Allow users to shutdown
Button and Lid events
The suspend, poweroff and hibernate button presses and lid close events are handled by logind as described in Power management#ACPI events page.
Using systemd-logind
If you are using systemd (which is default in Arch Linux) and install polkit, users with non-remote session can issue power-related commands as long as the session is not broken.
To check if your session is active
$ loginctl show-session $XDG_SESSION_ID --property=Active
The user can then use systemctl commands in the command line, or add them to menus:
$ systemctl poweroff $ systemctl reboot
Other commands can be used as well, including systemctl suspend
and systemctl hibernate
. See the System Commands section in systemctl(1).
Using sudo
Install sudo, and give the user sudo privileges. The user will then be able to use the sudo systemctl
commands (e.g. sudo systemctl poweroff
, sudo systemctl reboot
, sudo systemctl suspend
and sudo systemctl hibernate
). See the System Commands section in systemctl(1)
Users without sudo privileges
If users should only be allowed to use shutdown commands, but not have other sudo privileges, then, as root, add the following to the end of /etc/sudoers
using the visudo
command. Substitute user for your username and hostname for the machine's hostname.
user hostname =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot
Now your user can shutdown with sudo systemctl poweroff
, and reboot with sudo systemctl reboot
. Users wishing to power down a system can also use sudo systemctl halt
. Use the NOPASSWD:
tag only if you do not want to be prompted for your password.