J'essaie de créer une règle udev pour déverrouiller mon ordinateur lorsque je connecte mon téléphone par USB. Je n'ai pas trouvé que cette règle était exécutée et j'ai donc essayé une règle beaucoup plus simple.
Voici la règle (anonymisée) :
KERNEL=="sd?1", ATTRS{idVendor}=="****", ATTRS{idProduct}=="****", SYMLINK+="phone", RUN+="touch /home/user/udev.touch"
Je sais que la règle s'exécute car le lien phone -> sdc1
est en cours de création mais le fichier n'est pas créé. Existe-t-il un paramètre de sécurité que je dois activer pour que le fichier exécute un programme externe ?
Réponse acceptée :
Vous devez utiliser le chemin complet dans la touche RUN car (man udev
)
Si aucun chemin absolu n'est donné, le programme est supposé résider dans
/lib/udev, sinon le chemin absolu doit être spécifié. Le nom du programme
et les arguments sont séparés par des espaces. Les guillemets simples peuvent être utilisés pour
spécifier des arguments avec des espaces.
Néanmoins, le script (bash) lui-même devrait se comporter normalement, c'est-à-dire que vous n'avez pas besoin de spécifier le chemin.