Automatischer Ruhezustand mit Udev-Regel

Automatischer Ruhezustand mit Udev-Regel

Ich verwende Debian Jessie mit systemd. In der Vergangenheit habe ich ein acpid-Skript verwendet, das meinen Computer in den Ruhezustand versetzt, wenn der Akkustand 5 % oder weniger beträgt.

Als Ersatz dafür habe ich diese udev-Regel erstellt (wie beschriebenHierim Arch-Wiki):

$ cat /etc/udev/rules.d/99-lowbat.rules 
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="5", RUN+="/usr/bin/systemctl hibernate" 
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="4", RUN+="/usr/bin/systemctl hibernate"
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="3", RUN+="/usr/bin/systemctl hibernate"
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="2", RUN+="/usr/bin/systemctl hibernate"
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="1", RUN+="/usr/bin/systemctl hibernate"
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", ATTR{capacity}=="0", RUN+="/usr/bin/systemctl hibernate"

Es funktioniert nicht.

Ich habe versucht, diese Testregel zu erstellen, die funktioniert:

$ cat /etc/udev/rules.d/98-discharging.rules
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", RUN+="/usr/bin/touch /home/myname/discharging"

Warum funktioniert die erste Regel zum Ruhezustand meines Laptops nicht?

Antwort1

Der Pfad, den Sie für systemctl verwendet haben, ist falsch. systemctl befindet sich in /bin/, nicht in /usr/bin/ (das ist Debian-/Ubuntu-spezifisch).

verwandte Informationen