Mam Thinkpad i chciałbym używać ThinkLight (biała lampa błyskowa nad ekranem zaprojektowanym do podświetlania klawiatury) do powiadamiania o przychodzących wiadomościach Jabber.
Jest to łatwe do zrealizowania, ponieważ wystarczy zmienić /sys/class/leds/tpacpi::thinklight/brightness
na 255. Zrobię to za pomocą prostego skryptu Bash, który pozwoli trzy razy mrugnąć lampką.
Ale żeby móc to zrobić, muszę zmienić uprawnienia, aby nie tylko root mógł zmienić ten plik.
I nie chcę sudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightness
po każdym rozruchu.
Myślę, że udev
do tego celu służy najlepsze rozwiązanie . Jednak nigdy wcześniej nie korzystałem udev
i jestem dość zdezorientowany samouczkami, które znalazłem w Internecie.
Wypróbowałem tę udev
zasadę:
KERNEL=="tpacpi::thinklight", MODE="0666"
jak również
KERNEL="thinklight", MODE="0666"
Ale to nie działa. Chociaż nie dostaję błędów podczas działaniaudevadm test /class/leds
Dzięki za wszelką pomoc i trafienia. A może inne rozwiązania.
źródło
Odpowiedzi:
Używam dwóch reguł udev w następujący sposób, aby dać członkom grupy
leds
dostęp do wszystkich diod LED:Uwaga:
ACTION=="change"
reguła jest potrzebna do obsługi dynamicznie tworzonych atrybutów. Na przykład, jeśli spust diody LED jest ustawiona na „Timer” (echo timer > trigger
), a następnie dodatkowych atrybutówdelay_on
idelay_off
są tworzone.change
Akcja jest określona tak, że te nowe atrybuty mają swoje grupy i uprawnienia ustawione.Zauważyłem, że
change
zdarzenie jest generowane za każdym razem, gdy dioda LED jest wyłączana, pisząc0
na adres/sys/class/leds/.../brightness
. Wydaje się, że dzieje się tak z powodu usuwania kodu sterownika LED systemu Linux, ilekroć ustawiana jest jasność0
. Dlatego druga reguła maENV{TRIGGER}!="none"
warunek, aby zapobiec uruchamianiu reguły za każdym razem, gdy dioda LED jest wyłączana.źródło
Myślę, że masz złe ustawienie „KERNEL”. Z tego wspaniałego dokumentu do pisania i debugowania reguł udev:
http://www.reactivated.net/writing_udev_rules.html#basic
Myślę, że potrzebujesz KERNEL = jasność, a być może SUBSYSTEM = diody led
Następnie na wypadek, gdyby Twoja dystrybucja nie była obsługiwana. Upewnij się, że zmiany są widoczne przez udevd:
źródło