Difference between revisions of "Allow users to shutdown (简体中文)"

From ArchWiki
Jump to: navigation, search
(Update translation)
(update man page references, updated man page links (interactive))
(Tag: wiki-scripts)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:简体中文]]
 
 
[[Category:Security (简体中文)]]
 
[[Category:Security (简体中文)]]
[[es:Allow Users to Shutdown]]
+
[[en:Allow users to shutdown]]
[[en:Allow Users to Shutdown]]
+
[[es:Allow users to shutdown]]
[[id:Allow Users to Shutdown]]
+
[[id:Allow users to shutdown]]
[[it:Allow Users to Shutdown]]
+
[[it:Allow users to shutdown]]
[[ru:Allow Users to Shutdown]]
+
[[ja:ユーザーにシャットダウンを許可]]
 +
[[ru:Allow users to shutdown]]
 
[[tr:Kullanıcının bilgisayarı kapatabilmesine izin verme]]
 
[[tr:Kullanıcının bilgisayarı kapatabilmesine izin verme]]
[[uk:Allow Users to Shutdown]]
+
[[uk:Allow users to shutdown]]
{{TranslationStatus (简体中文)|Allow_Users_to_Shutdown|2012-12-15|239434}}
+
{{TranslationStatus (简体中文)|Allow_Users_to_Shutdown|2017-08-29|463509}}
  
== 使用 systemd-logind ==
+
== 按键和翻转屏幕事件 ==
  
如果你正在使用Arch的默认 [[systemd]],非远程会话中的用户可以使用电源相关的命令只要安装了 {{pkg|polkit}} 并且 [[xinitrc#Preserving the session|会话不中断]]。关机命令:
+
睡眠、休眠和关机按键的事件以及笔记本屏幕翻转事件由 ''logind'' 处理,请参考 [[Power management#ACPI events]].
  
# systemctl poweroff
+
== 使用 systemd-logind ==
  
按下待机、关机和休眠按钮和盖下显示屏的事件也由 logind 处理(参见 {{ic|man logind.conf}})。
+
如果使用 Arch 默认的 [[systemd]],安装了 {{pkg|polkit}},只要会话[[General troubleshooting#Session_permissions|没有中断]],非远程用户就可以使用电源相关的命令。
  
== 使用 sudo ==
+
要检查会话是否活跃:
 +
$ loginctl show-session $XDG_SESSION_ID --property=Active
  
首先安装 sudo:
+
关机命令:
# pacman -S sudo
 
  
然后,在 root 用户下用 {{Ic|visudo}} 命令添加以下到 {{Ic|/etc/sudoers}} 文件的末端。替换其中的 {{Ic|'''user'''}} 为你的用户名, {{Ic|'''hostname'''}} 为你的主机名。
+
$ systemctl poweroff
  
  '''user''' '''hostname''' =NOPASSWD: /sbin/shutdown -h now,/sbin/halt,/sbin/poweroff,/sbin/reboot
+
重启命令:
 +
  $ systemctl reboot
  
现在你的用户可以用 {{Ic|sudo shutdown -h now}} 命令关机, {{Ic|sudo reboot}} 命令重启了。用户也可以使用 {{Ic|poweroff}} 或 {{Ic|halt}} 关闭系统。如果你不想被提示输入密码,使用{{ic|NOPASSWD:}}标记。
+
按下待机、关机和休眠按钮和盖下显示屏的事件也由 logind 处理(参见 {{man|5|logind.conf}})。
  
为了方便起见,如果你已经启用了 {{ic|~/.bashrc}},你可以把这些[[Bash#Aliases|别名]]添加到里面(或者添加到 {{ic|/etc/bash.bashrc}} 使全系统生效):
+
== 使用 sudo ==
 
 
alias reboot="sudo reboot"
 
alias poweroff="sudo poweroff"
 
alias halt="sudo halt"
 
 
 
=== 使用 dbus 进行电源操作 ===
 
 
 
查看[[ConsoleKit]]获取使用说明。你也可以使用 dbus 进行电源操作:
 
*关机:
 
{{bc|1=dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop}}
 
*重启:
 
{{bc|1=dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart}}
 
*挂起:
 
{{bc|1=dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend}}
 
*休眠 (挂起到硬盘):
 
{{bc|1=dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Hibernate}}
 
  
方法生效的前提是用户具有调用[[PolicyKit]]关机的权限。默认情况下用户组“wheel”具有此权限。可以编辑{{ic|/etc/polkit-1/localauthority.conf.d/50-localauthority.conf}}来改变权限用户组。
+
首先安装 {{Pkg|sudo}}, 给用户 [[sudo|sudo 权限]] 或者设置用户仅能执行关机命令,以 root 用户执行 {{ic|visudo}} 修改 [[sudo|/etc/sudoers]],替换 ''user'' 和 ''hostname''。
  
{{注意|使用dbus挂起和休眠需要安装{{Pkg|upower}}。}}
+
''user'' ''hostname'' =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot
  
== 使用 acpid ==
+
现在这个用户可以用 {{Ic|sudo shutdown -h now}} 命令关机, {{Ic|sudo reboot}} 命令重启了。用户也可以使用 {{Ic|poweroff}} 或 {{Ic|halt}} 关闭系统。
使用[[acpid]]可以允许任何人通过电源按钮物理关机。
 

Latest revision as of 17:00, 9 September 2017

翻译状态: 本文是英文页面 Allow_Users_to_Shutdown翻译,最后翻译时间:2017-08-29,点击这里可以查看翻译后英文页面的改动。

按键和翻转屏幕事件

睡眠、休眠和关机按键的事件以及笔记本屏幕翻转事件由 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 关闭系统。