Est-il possible de désactiver temporairement les LED d'un ordinateur portable? (Disque dur, alimentation, chargement)

9

Ma question est de savoir s'il est possible d'exécuter une commande de terminal (ou toute autre chose) pour désactiver les voyants LED d'un ordinateur portable.

J'ai des LED pour CAPS, NUM et WiFi qui sont éteintes de toute façon. Mais quand il fait sombre, c'est très ennuyeux lorsque le voyant indicateur d'utilisation du disque dur clignote tout le temps.
Il y a aussi une LED d'alimentation bleu / rouge qui brille constamment et un indicateur de charge que je voudrais éteindre.

Je voudrais donc écrire un script qui désactive (et un autre qui active) ces LED si cela est possible. Sont-ils contrôlés par des logiciels ou du matériel? Mon ordinateur portable est un modèle sans nom d'environ 10 ans (MaxData Pro 6100 iw). Il fonctionne sur Ubuntu 14.10 (Utopic Unicorn).

Byte Commander
la source
4
Ruban électrique noir?
oldfred
@oldfred Si j'aurais été intéressé par ce type de solution, j'aurais posté les questions sur Lifehacks ! Non, j'aimerais une solution logicielle, si possible. J'ai également un script qui éteint l'écran avec un raccourci et je veux aussi y ajouter les commandes.
Byte Commander
2
Ma compréhension est que chacune de ces lumières est gérée séparément par différents pilotes. Il n'y a presque certainement pas de solution unique.
Seth
Je suis capable d'exécuter un tas de commandes, ce n'est pas le problème. Je serai heureux de chaque LED que je peux contrôler manuellement ... :-)
Byte Commander
1
Remarque latérale liée à la confidentialité: certains voyants, notamment pour certaines caméras, sont câblés à l'alimentation. De cette façon, si la caméra est en cours d'utilisation, la LED sera toujours allumée. Cela empêche un utilisateur malveillant de désactiver la LED via un logiciel et d'allumer la caméra à votre insu.
Daniel

Réponses:

5

Certaines LED sont uniquement matérielles et il n'y a aucun moyen de modifier leur état par programme.

Celles qui peuvent être contrôlées sont accessibles via le sysfssystème de fichiers virtuel sur /sys/class/leds/.

Le fait qu'une LED particulière puisse être contrôlée par programme ou non dépend du matériel particulier. Par exemple, ma machine de bureau a quelques LED mais aucune ne semble contrôlable. J'ai également expérimenté sur quelques ordinateurs portables et, même s'il y avait quelques entrées sous /sys/class/leds/, je n'ai pas pu contrôler l'état des LED, ce qui signifie, je pense, que le pilote du noyau particulier ne permet pas de contrôler manuellement le LED, fournissant une interface en lecture seule. Voici ce que j'ai essayé, sans effet:

# cd /sys/class/leds/
# ls
ath9k-phy0
# cd ./ath9k-phy0
# ls
brightness  device  max_brightness  power  subsystem  trigger  uevent
# cat ./trigger 
[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid usb-gadget usb-host cpu0 cpu1 rfkill1 phy0rx phy0tx phy0assoc phy0radio phy0tpt rfkill4 
# echo 'AC-online' > ./trigger 
# cat ./trigger 
none [AC-online] BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid usb-gadget usb-host cpu0 cpu1 rfkill1 phy0rx phy0tx phy0assoc phy0radio phy0tpt rfkill4 
# echo 'none' > ./trigger 
# echo 'phy0rx' > ./trigger 
# echo 'none' > ./trigger 
# cat ./trigger 
[none] AC-online BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid usb-gadget usb-host cpu0 cpu1 rfkill1 phy0rx phy0tx phy0assoc phy0radio phy0tpt rfkill4 
# cat ./brightness 
0
# cat ./max_brightness 
255
# echo 255 > ./brightness 

Quelque chose comme ce qui précède devrait, en théorie, vous permettre de contrôler les LED qui sont prises en charge par les pilotes du noyau pour le matériel particulier. S'il n'y a pas de support pour contrôler une LED particulière dans le noyau, alors, à moins d'écrire un module du noyau, vous ne pouvez pas faire grand-chose.

Voici plus d'informations sur le sujet au superutilisateur.

Voici la source ultime: la documentation du noyau

Sergey
la source
1
J'ai téléchargé les documents et travaillerai moi-même à travers eux. Merci. Cependant, j'apprécierais bien sûr un guide étape par étape de votre part, si cela était possible ...
Byte Commander