Power-Management
Slackware 和 elogind:如何為高級使用者啟用掛起和休眠?
我在 Slackware 目前使用 elogind,我只能從終端使用 sudo 來睡眠和休眠。使用舊的好 pm-utils,我只需要編輯 10-enable-suspend.rules,使 init 3 && init 4 就可以作為使用者休眠。現在我做了這些步驟
a) 複製兩個 polkit 規則
cp /usr/share/polkit-1/rules.d/10-enable-* /etc/polkit-1/rules.d/
b)我將我的使用者添加到電源組中
usermod -aG power myuser
c)在 logind.conf 我啟用了這些選項
grep -v ^# /etc/elogind/logind.conf [Login] HandlePowerKey=poweroff HandleHibernateKey=hibernate HandleLidSwitch=hibernate [Sleep] AllowSuspend=yes AllowHibernation=yes AllowSuspendThenHibernate=yes AllowHybridSleep=yes
d) 我重新啟動系統
reboot
從 xfce4-power-manager 我無法休眠或睡眠。
我也從cli嘗試過
$ loginctl hibernate $ echo $? 1
找到解決方案。
a)我創建了 3 個文件,一個用於亮度,一個用於掛起,一個用於休眠
/etc/polkit-1/rules.d/88-suspend.rules /etc/polkit-1/rules.d/88-hibernate.rules /etc/polkit-1/rules.d/89-backlight.rules
b)文件的內容:我為組電源分配了降低亮度,掛起和休眠作業系統的可能性,當然您的使用者必須在組電源中(作為輔助或主要)
cat /etc/polkit-1/rules.d/88-hibernate.rules polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.login1.hibernate" && subject.isInGroup("power")) { return polkit.Result.YES; } }); cat /etc/polkit-1/rules.d/88-suspend.rules polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.login1.suspend" && subject.isInGroup("power")) { return polkit.Result.YES; } }); cat /etc/polkit-1/rules.d/89-blacklight.rules polkit.addRule(function(action, subject) { if (action.id == "org.xfce.power.backlight-helper" && subject.isInGroup("power")) { return polkit.Result.YES; } });
c) 重啟電源管理器
xfce4-power-manager --restart
通過 xfce4 gui 和 loginctl 命令行測試並正常工作