Eu tenho um Thinkpad e gostaria de usar o ThinkLight (a luz branca do flash acima da tela projetada para iluminar o teclado) para notificações sobre mensagens Jabber recebidas.
É fácil perceber que é necessário mudar apenas /sys/class/leds/tpacpi::thinklight/brightness
para 255. Farei isso com um script Bash simples, que permitirá que a luz pisque por três vezes.
Mas para poder fazer isso, preciso alterar as permissões, para que não apenas o root possa alterar esse arquivo.
E eu não quero sudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightness
depois de cada inicialização.
Eu acho que a melhor solução está usando udev
para isso. No entanto, nunca usei udev
antes e estou bastante confuso com os tutoriais que encontrei online.
Eu tentei esta udev
regra:
KERNEL=="tpacpi::thinklight", MODE="0666"
assim como
KERNEL="thinklight", MODE="0666"
Mas não funciona. Embora eu não esteja recebendo erros durante a execuçãoudevadm test /class/leds
Obrigado por qualquer ajuda e hits. Ou talvez outras soluções.
fonte
Respostas:
Estou usando duas regras do udev, a seguir, para fornecer aos membros do grupo
leds
acesso a todos os LEDs:Observe que a
ACTION=="change"
regra é necessária para manipular atributos criados dinamicamente. Por exemplo, se o gatilho da LED é definido como "timer" (echo timer > trigger
), então atributos extrasdelay_on
edelay_off
são criados. Achange
ação é especificada para que esses novos atributos tenham seus grupos e permissões definidos.Percebi que um
change
evento é gerado toda vez que o LED é desligado, escrevendo0
para/sys/class/leds/.../brightness
. Parece que isso ocorre devido à liberação do código do driver do LED do Linux sempre que o brilho é definido0
. É por isso que a segunda regra tem aENV{TRIGGER}!="none"
condição, para impedir que a regra seja acionada toda vez que um LED é desligado.fonte
Eu acho que você tem a configuração 'KERNEL' errada. Neste documento impressionante para escrever e depurar regras do udev:
http://www.reactivated.net/writing_udev_rules.html#basic
Eu acho que você precisa de KERNEL = brilho, e talvez um SUBSISTEMA = leds
Então, caso sua distribuição não tenha suporte para notificar. Verifique se suas alterações estão sendo vistas pelo udevd:
fonte