Allow users to shutdown (简体中文)
按键和翻转屏幕事件
睡眠、休眠和关机按键的事件以及笔记本屏幕翻转事件由 logind 处理,请参考 Power management#ACPI events.
使用 systemd-logind
如果使用 Arch 默认的 systemd,安装了 polkit,只要会话没有中断,非远程用户就可以使用电源相关的命令。
要检查会话是否活跃:
$ loginctl show-session $XDG_SESSION_ID --property=Active
关机命令:
$ systemctl poweroff
重启命令:
$ systemctl reboot
按下待机、关机和休眠按钮和盖下显示屏的事件也由 logind 处理(参见 logind.conf(5))。
使用 sudo
首先安装 sudo, 给用户 sudo 权限 或者设置用户仅能执行关机命令,以 root 用户执行 visudo
修改 /etc/sudoers,替换 user 和 hostname。
user hostname =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot
现在这个用户可以用 sudo shutdown -h now
命令关机, sudo reboot
命令重启了。用户也可以使用 poweroff
或 halt
关闭系统。
创建别名
可以将下面 aliases 加入用户的 ~/.bashrc
或系统配置 /etc/bash.bashrc
:
alias reboot="sudo systemctl reboot" alias poweroff="sudo systemctl poweroff" alias halt="sudo systemctl halt"
软件包 systemd-sysvcompat 会自动创建对应的软链接。