Donc, le Web est vraiment une chose incroyable! Après beaucoup de recherches et de plongée dans de nombreux liens de forum, j'ai réussi à mieux comprendre le problème, à découvrir quel programme en était responsable et, enfin, à désactiver définitivement ce comportement. J'ai pensé écrire mes étapes, au cas où d'autres personnes rencontreraient le même problème.
Étape 1. Surveillez le système pour savoir si / quand le rétroéclairage du clavier est allumé
La première chose est de savoir que l'état actuel du rétro-éclairage du clavier peut être vérifié en lisant le fichier /sys/devices/platform/dell-laptop/leds/dell\:\:kbd_backlight/brightness
. Nous aimerions donc être informés de toute modification apportée à ce fichier et, idéalement, de quel processus a provoqué la modification.
Cela peut être fait en utilisant fanotify . J'ai utilisé l' exemple de programme fourni dans la page de manuel et ajouté quelques modifications * afin de pouvoir surveiller les modifications apportées au fichier de luminosité. Il s'avère que le processus responsable de la modification était /usr/lib/upower/upowerd
, qui est un processus démon pour UPower .
Étape 2. Découvrez pourquoi UPower active le rétroéclairage (échec)
C'était la partie la plus floue de l'enquête, et je ne sais toujours pas pourquoi cela se produit. J'ai trouvé une personne avec un problème très similaire mais sans solution, alors j'ai commencé à voir si je pouvais tout simplement désactiver UPower complètement (et quelles seraient les conséquences) lorsque j'ai trouvé ce lien . Il s'avère qu'UPower a un fichier de configuration! C'est mieux.
Étape 3. Arrêtez UPower d'allumer le rétroéclairage du clavier
Enfin, j'ai modifié le fichier de configuration susmentionné, situé dans /etc/dbus-1/system.d/org.freedesktop.UPower.conf
, et remplacé <allow>
par <deny>
dans la ligne suivante:
<allow send_destination="org.freedesktop.UPower"
send_interface="org.freedesktop.UPower.KbdBacklight"/>
J'ai ensuite redémarré dbus avec sudo service dbus restart
(utilisation systemctl restart dbus.service
sur Ubuntu 16.04 et versions ultérieures) et procédé au verrouillage de mon écran pour tester le résultat et ... Ça a fonctionné !! Eh bien, sorta. L'écran de connexion ne s'affichait pas, je n'ai donc pas pu me reconnecter et j'ai dû forcer un redémarrage. Mais alors tout a bien fonctionné!
Et c'est tout! Je suis toujours curieux de savoir quelle serait la bonne façon de procéder. Si vous le savez, laissez un commentaire, s'il vous plaît!
* Par exemple, l'exemple de programme a été mis en place uniquement pour surveiller FAN_OPEN_PERM
et FAN_CLOSE_WRITE
événements, mais en cela, il s'agissait d'un FAN_MODIFY
événement.