Yo tuve el mismo problema. Esto funcionó para mí:
Intenta copiar tu script en /usr/local/bin
y cambia el directorio en tu .rules
archivo.
Además, no sé qué es SYSFS, pero preferiría usar las propiedades ATTR.
La siguiente línea es el contenido de mi .rules
archivo:
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]1", ATTRS{vendor}=="SanDisk ", RUN+="/usr/local/bin/backup.sh"
notify-send
requiere acceso a su bus de sesión DBus, que no puede tener por dos razones:
-
No hay información sobre la sesión. Cuando lo inicia udev, su script no sabe nada acerca de dónde ha iniciado sesión o si ha iniciado sesión en absoluto. El uso de varios puestos con X11 sigue siendo complicado, pero el cambio de usuario funciona tanto para X11 como para sesiones de consola. Mucha gente también usa SSH, VNC y NX a través de la red.
(
DISPLAY=:0
funcionaría la mitad del tiempo, pero eso sigue siendo adivinanzas en el mejor de los casos). -
Denegado por la política de DBus. Incluso si su script de alguna manera encuentra su sesión X11, no podrá enviar notificaciones debido a que el script se ejecuta como
root
en lugar de su cuenta de usuario.