使用 Polkit

使用 Polkit

自从上次更新 Ubuntu 14.04 以来,当我按下笔记本电脑的睡眠按钮时,会出现一个弹出窗口,上面写着“需要身份验证才能挂起系统”。

合上盖子时无需输入密码。但是,当插入另一台显示器时,此功能不起作用。

有什么可以设置(在 sudoers 或其他地方)以避免这个密码提示?

答案1

  1. 在命令行运行:

    locate -b org.freedesktop.login1.policy
    

    找到的文件是

    /usr/share/polkit-1/actions/org.freedesktop.login1.policy
    
  2. 在文件中,靠近行

    <action id="org.freedesktop.login1.suspend">
    

    检查这些:

    <defaults>
        <allow_any>yes</allow_any>
        <allow_inactive>yes</allow_inactive>
        <allow_active>yes</allow_active>
    </defaults>
    

来源

答案2

使用 Polkit

将自己添加到users群组

sudo usermod -aG users "$USER"

你需要重启按照以下步骤操作即可。

1. 如果 PolKit 版本 >= 0.106

您可以通过以下方式检查 Polkit 的版本:pkaction --version

如果 PolKit 版本 < 0.106,则有 .rules文件,但只有旧的 .pkla文件.conf,因为那些 Polkit 版本没有 Javascript 解释器。

只需添加一个文件/etc/polkit-1/rules.d/85-suspend.rules

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.suspend" &&
        subject.isInGroup("users")) {
        return polkit.Result.YES;
    }
});

在终端中输入:

sudo chmod 755 /etc/polkit-1/rules.d
sudo chmod 644 /etc/polkit-1/rules.d/85-suspend.rules

2. 如果 PolKit 版本 < 0.106

在这种情况下,添加一个文件/var/lib/polkit-1/localauthority/50-local.d/50-enable-suspend-on-lockscreen.pkla

[Allow suspending in lockscreen]
Identity=unix-group:users
Action=org.freedesktop.login1.suspend
ResultAny=yes
ResultInactive=yes
ResultActive=yes

在 bash 中输入:

sudo chmod 644 /var/lib/polkit-1/localauthority/50-local.d/50-enable-suspend-on-lockscreen.pkla

有关 pklocalauthority 的更多信息

使用电源管理器设置(不确定是否有效)

在XFCE 电源管理器中:

  1. 在标签下Security

    • 设置Automatically lock the session绝不
    • 查看Lock the screen when the system is going for sleep
  2. Display选项卡下,15 分钟后屏幕变黑。设置要禁用的Sleep 时间Switch off(灰色)。
  3. System选项卡下,将系统睡眠模式设置为Suspend半小时后。

参考:

相关内容