Hibernar automáticamente con la regla udev

Hibernar automáticamente con la regla udev

Estoy usando Debian Jessie con systemd. En el pasado he usado un script acpid que permite que mi computadora hiberne cuando la batería está al 5% o menos.

En un intento de reemplazar eso, hice esta regla udev (como se describeaquíen la wiki de 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"

No funciona.

Intenté hacer esta regla de prueba que funciona:

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

¿Por qué no funciona la primera regla para hibernar mi computadora portátil?

Respuesta1

La ruta que usaste para systemctl es incorrecta. systemctl está en /bin/, no en /usr/bin/ (esto es específico de Debian/Ubuntu).

información relacionada