web-dev-qa-db-fra.com

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

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

J'ai des LED pour CAPS, NUM et WiFi qui sont éteintes quand même. Mais quand il fait sombre, il est très gênant de constater que le voyant DEL d’utilisation du disque dur clignote tout le temps.
Il y a aussi un voyant d'alimentation bleu/rouge allumé en continu et un indicateur de charge que je souhaite é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 un logiciel ou du matériel? Mon ordinateur portable est un modèle sans nom d'environ 10 ans (MaxData Pro 6100 iw). Il tourne sous Ubuntu 14.10 (Utopic Unicorn).

9
Byte Commander

Certaines des LED sont uniquement matérielles et il est impossible de modifier leur statut par programmation.

Ceux qui peuvent être contrôlés sont accessibles via le système de fichiers virtuel sysfs sur /sys/class/leds/.

Le fait de pouvoir ou non contrôler un voyant par programme dépend du matériel. Par exemple, ma machine de bureau a quelques voyants, mais aucun ne semble contrôlable. J'ai également expérimenté sur quelques ordinateurs portables et, bien qu'il y ait eu quelques entrées sous /sys/class/leds/, je ne pouvais pas contrôler l'état des voyants, ce qui signifie, je pense, que le pilote du noyau pas autoriser le contrôle manuel des voyants, 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 voyants pris en charge par les pilotes du noyau pour le matériel en question. S'il n'y a pas de support pour contrôler un voyant particulier dans le noyau, alors, à part l'écriture d'un module de noyau, vous ne pouvez pas faire grand chose.

Voici plus d'informations sur le sujet sur superutilisateur.

Voici la source ultime: documentation du noya

5
Sergey