Auto-hibernação com regra do udev

2

Estou usando o Debian Jessie com o systemd. No passado, usei um script acpid que deixa meu computador hibernar quando a bateria está com 5% ou menos.

Em uma tentativa de fazer um substituto para isso, eu fiz esta regra do udev (como descrito aqui aqui no wiki do Arch):

$ 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"

Não está funcionando.

Eu tentei criar esta regra de teste que funciona:

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

Por que a primeira regra não funciona para hibernar meu laptop?

    
por MajorBriggs 13.10.2014 / 19:17

1 resposta

2

O caminho que você usou para systemctl está errado. systemctl está em / bin /, não / usr / bin / (isto é específico do Debian / Ubuntu).

    
por 14.10.2014 / 19:31