使用 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 分鐘後黑屏。設定SleepSwitch off停用時間(灰顯)。
  3. 在該System選項卡下,將系統睡眠模式設定為Suspend半小時後。

參考:

相關內容