J'ai un Thinkpad et j'aimerais utiliser le ThinkLight (le flash blanc au-dessus de l'écran conçu pour éclairer le clavier) pour les notifications sur les messages Jabber entrants.
C'est facile à réaliser car il suffit de passer /sys/class/leds/tpacpi::thinklight/brightness
à 255. Je le ferai avec un simple script Bash, qui laissera la lumière clignoter trois fois.
Mais pour pouvoir le faire, je dois modifier les autorisations, non seulement root est capable de modifier ce fichier.
Et je ne veux pas sudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightness
après chaque démarrage.
Je pense que la meilleure solution est d'utiliser udev
pour cela. Cependant, je ne l'ai jamais utilisé udev
auparavant et je suis assez confus par les tutoriels que j'ai trouvés en ligne.
J'ai essayé cette udev
règle:
KERNEL=="tpacpi::thinklight", MODE="0666"
aussi bien que
KERNEL="thinklight", MODE="0666"
Mais ça ne marche pas. Bien que je n'obtienne pas d'erreurs lors de l'exécutionudevadm test /class/leds
Merci pour toute aide et succès. Ou peut-être d'autres solutions.
la source
Réponses:
J'utilise deux règles udev comme suit, pour donner aux membres du groupe l'
leds
accès à toutes les LED:Notez que la
ACTION=="change"
règle est nécessaire pour gérer les attributs créés dynamiquement. Par exemple, si le déclencheur de la LED est réglé sur "timer" (echo timer > trigger
), alors des attributs supplémentairesdelay_on
etdelay_off
sont créés. L'change
action est spécifiée de sorte que ces nouveaux attributs aient leur groupe et leurs autorisations définis.J'ai remarqué qu'un
change
événement est généré chaque fois que la LED est éteinte en écrivant0
à/sys/class/leds/.../brightness
. Cela semble être dû aux déclencheurs de suppression du code du pilote Linux LED chaque fois que la luminosité est définie sur0
. C'est pourquoi la deuxième règle a laENV{TRIGGER}!="none"
condition, pour empêcher le déclenchement de la règle à chaque fois qu'une LED est éteinte.la source
Je pense que vous avez le mauvais réglage «KERNEL». De ce doc génial pour écrire et déboguer les règles udev:
http://www.reactivated.net/writing_udev_rules.html#basic
Je pense que vous avez besoin de KERNEL = luminosité et peut-être d'un SUBSYSTEM = leds
Ensuite, au cas où votre distribution manque de support inotify. Assurez-vous que vos modifications sont vues par udevd:
la source