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).