Ich habe ein Thinkpad und möchte das ThinkLight (das weiße Blitzlicht über dem Bildschirm zum Aufleuchten der Tastatur) für Benachrichtigungen bei eingehenden Jabber-Nachrichten verwenden.
Es ist leicht zu realisieren, da man nur /sys/class/leds/tpacpi::thinklight/brightness
auf 255 wechseln muss. Ich mache es mit einem einfachen Bash-Skript, das das Licht dreimal blinken lässt.
Aber um dies zu tun, muss ich die Berechtigungen ändern, damit nicht nur root diese Datei ändern kann.
Und ich möchte nicht sudo chmod o+w /sys/class/leds/tpacpi::thinklight/brightness
nach jedem Boot.
Ich denke, die beste Lösung ist udev
dafür. Ich habe es jedoch noch nie benutzt udev
und bin ziemlich verwirrt über die Tutorials, die ich online gefunden habe.
Ich habe diese udev
Regel ausprobiert :
KERNEL=="tpacpi::thinklight", MODE="0666"
ebenso gut wie
KERNEL="thinklight", MODE="0666"
Aber es funktioniert nicht. Obwohl ich beim Laufen keine Fehler bekommeudevadm test /class/leds
Vielen Dank für jede Hilfe und Treffer. Oder vielleicht andere Lösungen.
quelle
Antworten:
Ich verwende zwei udev-Regeln wie folgt, um Mitgliedern der Gruppe
leds
Zugriff auf alle LEDs zu gewähren :Beachten Sie, dass die
ACTION=="change"
Regel benötigt wird, um dynamisch erstellte Attribute zu verarbeiten. Zum Beispiel, wenn der Auslöser LED ist auf „Timer“ (echo timer > trigger
), dann zusätzliche Attributedelay_on
unddelay_off
erstellt werden . Diechange
Aktion wird so angegeben, dass für diese neuen Attribute ihre Gruppe und Berechtigungen festgelegt sind.Ich habe festgestellt, dass
change
jedes Mal ein Ereignis generiert wird, wenn die LED durch Schreiben0
an ausgeschaltet wird/sys/class/leds/.../brightness
. Dies scheint auf das Löschen des Linux-LED-Treibercodes zurückzuführen zu sein, wenn die Helligkeit eingestellt ist0
. Aus diesem Grund hat die zweite Regel dieENV{TRIGGER}!="none"
Bedingung, dass die Regel nicht jedes Mal ausgelöst wird, wenn eine LED ausgeschaltet wird.quelle
Ich denke, Sie haben die falsche 'KERNEL'-Einstellung. Aus diesem fantastischen Dokument zum Schreiben und Debuggen von udev-Regeln:
http://www.reactivated.net/writing_udev_rules.html#basic
Ich denke, Sie brauchen KERNEL = Helligkeit und vielleicht ein SUBSYSTEM = LEDs
Für den Fall, dass Ihre Distribution keine Unterstützung mehr hat. Stellen Sie sicher, dass Ihre Änderungen von udevd angezeigt werden:
quelle