Quindi, il Web è davvero una cosa straordinaria! Dopo molte ricerche e approfondimenti su molti link ai forum, sono riuscito a capire meglio il problema, a scoprire quale programma era responsabile e, infine, a disabilitare questo comportamento per sempre. Ho pensato di scrivere i miei passi, nel caso in cui altre persone incontrassero lo stesso problema.
Passaggio 1. Monitorare il sistema per sapere se / quando si accende la retroilluminazione della tastiera
La prima cosa è sapere che lo stato attuale della retroilluminazione della tastiera può essere verificato leggendo il file /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
. Quindi, vorremmo essere avvisati di eventuali modifiche a questo file e, idealmente, quale processo ha invocato la modifica.
Questo può essere fatto usando fanotify . Ho usato il programma di esempio fornito nella pagina man e aggiunto alcune modifiche * in modo da poter monitorare le modifiche al file di luminosità. Si scopre che il processo responsabile della modifica è stato /usr/lib/upower/upowerd
, che è un processo daemon per UPower .
Passaggio 2. Scopri perché UPower sta accendendo la retroilluminazione (non funziona)
Questa è stata la parte più vaga dell'indagine e non riesco ancora a capire perché questo accada. Ho trovato una persona con un problema molto simile ma senza soluzione, quindi ho iniziato a vedere se potevo disabilitare completamente UPower (e quali sarebbero le conseguenze) quando ho trovato questo link . Si scopre che UPower ha un file di configurazione! Così va meglio.
Passaggio 3. Interrompere UPower dall'accensione della retroilluminazione della tastiera
Infine, ho modificato il file di configurazione di cui sopra, che si trova /etc/dbus-1/system.d/org.freedesktop.UPower.conf
, e ha cambiato <allow>
per <deny>
la seguente riga:
<allow send_destination="org.freedesktop.UPower"
send_interface="org.freedesktop.UPower.KbdBacklight"/>
Ho quindi riavviato dbus con sudo service dbus restart
(utilizzare systemctl restart dbus.service
su Ubuntu 16.04 e versioni successive) e ho proceduto a bloccare lo schermo per testare il risultato e ... Ha funzionato !! Bene, sorta. La schermata di accesso non viene visualizzata, quindi non riesco ad accedere di nuovo e ho dovuto forzare un riavvio. Ma poi tutto ha funzionato alla grande!
E questo è tutto! Sono ancora curioso di sapere quale sarebbe il modo giusto per farlo. Se lo sai, lascia un commento, per favore!
* Ad esempio, il programma di esempio è stato impostato solo per monitorare FAN_OPEN_PERM
ed FAN_CLOSE_WRITE
eventi, ma in questo era un FAN_MODIFY
evento.