Das Web ist also wirklich eine erstaunliche Sache! Nachdem ich viel recherchiert und in viele Forum-Links getaucht hatte, gelang es mir, das Problem besser zu verstehen, herauszufinden, welches Programm dafür verantwortlich war, und schließlich dieses Verhalten endgültig zu deaktivieren. Ich dachte, ich würde meine Schritte aufschreiben, falls andere Leute auf dasselbe Problem stoßen.
Schritt 1. Überwachen Sie das System, um festzustellen, ob / wann die Hintergrundbeleuchtung der Tastatur eingeschaltet ist
Als erstes müssen Sie wissen, dass der aktuelle Status der Hintergrundbeleuchtung der Tastatur durch Lesen der Datei überprüft werden kann /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
. Daher möchten wir über Änderungen an dieser Datei informiert werden und im Idealfall darüber, welcher Prozess die Änderung ausgelöst hat.
Dies kann mit fanotify erfolgen . Ich habe das in der Manpage bereitgestellte Beispielprogramm verwendet und einige Änderungen * hinzugefügt, damit ich Änderungen an der Helligkeitsdatei überwachen kann. Es stellt sich heraus, dass der für die Änderung verantwortliche Prozess /usr/lib/upower/upowerd
ein Daemon-Prozess für UPower war .
Schritt 2. Finden Sie heraus, warum UPower die Hintergrundbeleuchtung einschaltet (Fehler)
Dies war der unscharfeste Teil der Untersuchung, und ich kann immer noch nicht sagen, warum dies passiert. Ich fand eine Person mit einem sehr ähnlichen Problem, aber ohne Lösung, und begann zu prüfen, ob ich UPower einfach vollständig deaktivieren konnte (und welche Konsequenzen dies hätte), als ich diesen Link fand . Es stellt sich heraus, dass UPower eine Konfigurationsdatei hat! Das ist besser.
Schritt 3. Halten Sie UPower davon ab, die Hintergrundbeleuchtung der Tastatur einzuschalten
Schließlich bearbeiten ich die oben genannte Config - Datei, die sie auf /etc/dbus-1/system.d/org.freedesktop.UPower.conf
und wechselte <allow>
zu <deny>
in der folgenden Zeile:
<allow send_destination="org.freedesktop.UPower"
send_interface="org.freedesktop.UPower.KbdBacklight"/>
Ich habe dann dbus mit sudo service dbus restart
(Verwendung systemctl restart dbus.service
unter Ubuntu 16.04 und höher) neu gestartet und meinen Bildschirm gesperrt, um das Ergebnis zu testen und ... Es hat funktioniert !! Na ja, irgendwie. Der Anmeldebildschirm wurde nicht angezeigt, sodass ich mich nicht erneut anmelden konnte und einen Neustart erzwingen musste. Aber dann hat alles super geklappt!
Und das ist es! Ich bin immer noch gespannt, was der richtige Weg wäre, dies zu tun. Wenn Sie wissen, hinterlassen Sie bitte einen Kommentar!
* Zum Beispiel wurde das Beispielprogramm nur für die Überwachung FAN_OPEN_PERM
und FAN_CLOSE_WRITE
Ereignisse eingerichtet, aber in diesem FAN_MODIFY
Fall war es ein Ereignis.