Allow users to shutdown
If you're using systemd, users with non-remote session can issue power-related commands. To keep these permissions, your session simply needs to stay on the same tty where the login happened. With a display manager, that will work out-of-the-box and
startx -- vt$(fgconsole) can be used to have it work without one.
The suspend, poweroff and hibernate button presses and lid close events are also handled by logind (see
First install sudo:
# pacman -S sudo
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: /sbin/shutdown -h now,/sbin/halt,/sbin/poweroff,/sbin/reboot
Now your user can shutdown with
sudo shutdown -h now, and reboot with
sudo reboot. Users wishing to power down a system can also use
halt. Use the
NOPASSWD: tag only if you do not want to be prompted for your password.
For convenience, you can add these aliases to your user's
~/.bashrc (or to
/etc/bash.bashrc for system-wide settings):
alias reboot="sudo reboot" alias poweroff="sudo poweroff" alias halt="sudo halt"
See ConsoleKit#Use dbus for power operations for usage instructions.
acpid can be used to allow anyone with physical access to cleanly shut down the computer by using this power button.