현재 Slackware에서 elogind를 사용하고 있으며 터미널에서 sudo를 사용해서만 절전 모드 및 최대 절전 모드를 사용할 수 있습니다. 오래된 pm-utils를 사용하여 init 3 && init 4를 사용하면 사용자로 최대 절전 모드를 설정할 수 있도록 10-enable-suspens.rules를 편집했습니다. 이제 다음 단계를 수행했습니다.
a) 두 개의 폴킷 규칙을 복사합니다.
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
답변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) 파일 내용: 밝기를 줄이고 OS를 일시 중지하고 최대 절전 모드로 전환할 수 있는 가능성을 그룹 전원에 할당했습니다. 물론 사용자는 그룹 전원(보조 또는 기본)에 있어야 합니다.
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 명령줄에서 테스트되었으며 정상적으로 작동합니다.