我同时启动 win7 和 Ubuntu(12.04 LTS),但当我关闭/重新启动 Ubuntu 以切换操作系统时,我只会看到注销屏幕。我可以用电源按钮关闭电脑,但我希望能够以正常方式关闭。
答案1
我在通过 Kerberos 进行机器身份验证时也遇到了同样的问题。
/var/log/syslog
你应该看到像这样的日志条目
WARNING: Unable to stop system: Authorization is required
正是polkit
守护进程阻止了这种情况。文件
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
控制此行为。共有 4 个条目
org.freedesktop.consolekit.system.stop
org.freedesktop.consolekit.system.stop-multiple-users
org.freedesktop.consolekit.system.restart
org.freedesktop.consolekit.system.restart-multiple-users
以及每个条目的值
<allow_inactive>xy</allow_inactive>
<allow_active>xy</allow_active>
它们意味着关闭并重新启动系统,并在其他用户登录时关闭/重新启动(检查who
终端类型)。allow_inactive
通常意味着远程会话(SSH,VNC),allow_active
是通过 TTY 或 X 直接登录。所以你必须决定谁应该能够重新启动/关闭你的系统。
默认情况下,本地登录用户可以重启/关闭系统,但是当有其他会话(例如打开的 SSH 会话)并且您尝试重启系统时,您将被注销。然后您必须在条目中设置org.freedesktop.consolekit.system.stop-multiple-users
并将org.freedesktop.consolekit.system.restart-multiple-users
值 allow_active 设置为 yes: <allow_active>yes</allow_active>
。
答案2
文件
/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
将在 policykit 更新时被覆盖。您可以在 /etc/polkit-1/localauthority 下的某个位置添加本地配置。
我添加了一个文件 /etc/polkit-1/localauthority/50-local/50-com.[my name].pkla,其中包含以下内容:
[Restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart-multiple-users
ResultActive=yes
[Shutdown]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.stop-multiple-users
ResultActive=yes
即使其他用户已登录,这也使每个人都可以重新启动或关闭。
另请参阅手册页:
man pklocalauthority
答案3
您可以使用命令行以正常方式关闭电脑。
sudo shutdown -h now
该shutdown
命令需要以以下身份运行,root
其一般格式为(来自man shutdown
):
shutdown [options] time
-h Halt or power off after shutdown.
time When to shutdown.
The time argument can have different formats. First, it can be an
absolute time in the format hh:mm, in which hh is the hour (1 or 2 dig‐
its) and mm is the minute of the hour (in two digits). Second, it can
be in the format +m, in which m is the number of minutes to wait. The
word now is an alias for +0.