Czy można tymczasowo wyłączyć diody LED notebooka? (HDD, moc, ładowanie)

10

Moje pytanie brzmi: czy można uruchomić polecenie terminala (lub cokolwiek innego), aby wyłączyć diody LED laptopa.

Mam diody LED dla CAPS, NUM i WiFi, które i tak są wyłączone. Ale gdy jest ciemno, denerwujące jest to, że dioda LED wskaźnika zużycia dysku twardego cały czas miga.
Jest też stale świecąca niebiesko / czerwona dioda LED zasilania i wskaźnik ładowania, który chciałbym wyłączyć.

Chciałbym więc napisać skrypt, który wyłącza (i inny, który włącza) te diody LED, jeśli jest to możliwe. Czy są kontrolowane przez oprogramowanie lub sprzęt? Mój laptop to może około 10-letni model bez nazwy (MaxData Pro 6100 iw). Działa na Ubuntu 14.10 (Utopic Unicorn).

Bajt Dowódca
źródło
4
Czarna taśma elektryczna?
oldfred
@oldfred Gdybym był zainteresowany tego rodzaju rozwiązaniem, zamieściłbym pytania na Lifehacks ! Nie, jeśli to możliwe, chciałbym znaleźć rozwiązanie programowe. Mam również skrypt, który wyłącza ekran za pomocą skrótu i ​​do tego też chcę dodać polecenia.
Bajt Dowódca
2
Rozumiem, że każde z tych świateł jest zarządzane osobno przez różnych kierowców. Niemal na pewno nie ma rozwiązania „jeden rozmiar dla wszystkich”.
Seth
Jestem w stanie uruchomić wiele poleceń, to nie jest problem. Będę szczęśliwy z każdej diody, którą mogę sterować ręcznie ... :-)
Byte Commander
1
Uwaga dodatkowa związana z prywatnością: niektóre lampki sygnalizacyjne, zwłaszcza w przypadku niektórych kamer, są podłączone do zasilania. W ten sposób, jeśli kamera jest w użyciu, dioda LED będzie zawsze włączona. Zapobiega to wyłączeniu przez złośliwego użytkownika diody LED za pomocą oprogramowania i włączeniu aparatu bez Twojej wiedzy.
Daniel

Odpowiedzi:

5

Niektóre diody LED są tylko sprzętowe i nie ma możliwości programowej zmiany ich statusu.

Do tych, które można kontrolować, można uzyskać dostęp za pośrednictwem sysfswirtualnego systemu plików pod adresem /sys/class/leds/.

To, czy daną diodą LED można sterować programowo, czy nie, zależy od konkretnego sprzętu. Na przykład mój komputer stacjonarny ma kilka diod LED, ale żadnej z nich nie można kontrolować. Eksperymentowałem również na kilku laptopach i chociaż było kilka wpisów poniżej /sys/class/leds/, nie byłem w stanie kontrolować stanu diod LED, co oznacza, myślę, że konkretny sterownik jądra nie pozwala ręcznie sterować Diody LED, zapewniające interfejs tylko do odczytu. Oto, co próbowałem, bez efektu:

# 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 

Coś takiego jak wyżej powinno teoretycznie pozwolić ci kontrolować diody LED obsługiwane przez sterowniki jądra dla danego sprzętu. Jeśli nie ma wsparcia dla kontrolowania konkretnej diody LED w jądrze, to poza napisaniem modułu jądra niewiele można zrobić.

Oto więcej informacji na ten temat u administratora.

Oto ostateczne źródło: dokumentacja jądra

Siergiej
źródło
1
Pobrałem dokumenty i sam je przejrzę. Dzięki. Byłbym jednak wdzięczny za przewodnik od ciebie krok po kroku, gdyby to było możliwe ...
Byte Commander