![在我升级到 saucy 之前,ssh 连接会阻止从 X11 启动的关机](https://linux22.com/image/1119442/%E5%9C%A8%E6%88%91%E5%8D%87%E7%BA%A7%E5%88%B0%20saucy%20%E4%B9%8B%E5%89%8D%EF%BC%8Cssh%20%E8%BF%9E%E6%8E%A5%E4%BC%9A%E9%98%BB%E6%AD%A2%E4%BB%8E%20X11%20%E5%90%AF%E5%8A%A8%E7%9A%84%E5%85%B3%E6%9C%BA.png)
不久前我升级到了 saucy,现在即使我通过 ssh 连接到该计算机,X11 用户也可以关机。
升级之前,ssh 连接会阻止 X11 用户关机(至少使用常规关机菜单选项)。
我怎样才能重新建立该功能,以便如果我正在进行升级,X11 用户就不能直接关闭他们的计算机?
更新:
看看接受的答案防止 SSH 连接开启时机器进入睡眠状态其中包括一个解决方案,使用systemd-inhibitor
它可能是最好的方法。我不太清楚如何在 SSH 中集成该功能,但这可能是最现代的方法(自 15.04 以来)。抑制剂可以防止睡眠、关机、重启、休眠……随便你怎么说。
答案1
检查文件中的以下条目是否/usr/share/polkit-1/actions/org.freedesktop.consolekit.policy
设置正确。它们通过 PolicyKit 守护进程处理关机/重启请求的行为:
<action id="org.freedesktop.consolekit.system.stop-multiple-users">
<description>Stop the system when multiple users are logged in</description>
<message>System policy prevents stopping the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
<action id="org.freedesktop.consolekit.system.restart-multiple-users">
<description>Restart the system when multiple users are logged in</description>
<message>System policy prevents restarting the system when other users are logged in</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active>
</defaults>
</action>
两者都应配置为allow_active
语句显示的那样auth_admin_keep
,这意味着执行此操作需要管理用户身份验证。注意当用户属于管理组(sudo
,admin
)时,即使已登录,该用户也可以关机。
您有 2 个选择:从该组中删除用户或设置allow_active
为no
。