udevルールを使用して自動的に休止状態に切り替える

udevルールを使用して自動的に休止状態に切り替える

私は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のみ)。

おすすめ記事