Allow users to shutdown (简体中文)

From ArchWiki
翻译状态:本文是 Allow users to shutdown翻译。上次翻译日期:2020-02-27。如果英文版本有所更改,则您可以帮助同步翻译。

按键和翻转屏幕事件

睡眠、休眠和关机按键的事件以及笔记本屏幕翻转事件由 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,替换 userhostname

user hostname =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot

现在这个用户可以用 sudo shutdown -h now 命令关机, sudo reboot 命令重启了。用户也可以使用 poweroffhalt 关闭系统。

创建别名

可以将下面 aliases 加入用户的 ~/.bashrc 或系统配置 /etc/bash.bashrc

alias reboot="sudo systemctl reboot"
alias poweroff="sudo systemctl poweroff"
alias halt="sudo systemctl halt"

软件包 systemd-sysvcompat 会自动创建对应的软链接。