私はDebian Jessieとsystemdを使用しています。以前は、バッテリーが5%以下になったときにコンピュータを休止状態にするためにacpidスクリプトを使用していました。
これを置き換えるために、次のudevルールを作成しました(説明どおり)。ここアーチウィキから):
$ 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"
動作しません。
私は効果的なテストルールを作成しようとしています。
$ cat /etc/udev/rules.d/98-discharging.rules
SUBSYSTEM=="power_supply", ATTR{status}=="Discharging", RUN+="/usr/bin/touch /home/myname/discharging"
最初のルールでラップトップが休止状態にならないのはなぜですか?
ベストアンサー1
systemctlに使用したパスが正しくありません。 systemctlは/usr/bin/ではなく/bin/にあります(Debian / Ubuntuのみ)。