Можно ли временно отключить светодиоды ноутбука? (HDD, питание, зарядка)

9

Мой вопрос заключается в том, можно ли запустить команду терминала (или что-нибудь еще), чтобы отключить светодиоды ноутбука.

У меня есть светодиоды для CAPS, NUM и WiFi, которые все равно выключены. Но когда темно, очень раздражает, когда индикатор использования жесткого диска постоянно мигает.
Есть также постоянно светящийся сине-красный светодиод питания и индикатор зарядки, который я хотел бы выключить.

Поэтому я хотел бы написать скрипт, который отключает (и еще один, который включает) эти светодиоды, если это возможно. Они контролируются программным или аппаратным обеспечением? Моему ноутбуку может быть около 10 лет безымянная модель (MaxData Pro 6100 iw). Он работает на Ubuntu 14.10 (Utopic Unicorn).

Byte Commander
источник
4
Черная изолента?
oldfred
@oldfred Если бы меня заинтересовало такое решение, я бы отправил вопросы на Lifehacks ! Нет, я хотел бы программное решение, если это возможно. У меня также есть сценарий, который отключает экран с помощью ярлыка, и я хочу добавить команды к этому тоже.
Byte Commander
2
Насколько я понимаю, каждый из этих источников света управляется отдельно разными водителями. Почти наверняка не существует решения "один размер подходит всем".
Сет
Я могу запустить несколько команд, это не проблема. Я буду рад каждому светодиоду, которым я могу управлять вручную ... :-)
Byte Commander
1
Примечание, касающееся конфиденциальности: некоторые световые индикаторы, особенно для некоторых камер, подключены к источнику питания. Таким образом, если камера используется, светодиод всегда будет включен. Это предотвращает отключение светодиода злоумышленником с помощью программного обеспечения и включение камеры без вашего ведома.
Даниэль

Ответы:

5

Некоторые светодиоды предназначены только для аппаратного обеспечения, и нет возможности программно изменить их состояние.

К тем, которыми можно управлять, можно получить доступ через sysfsвиртуальную файловую систему по адресу /sys/class/leds/.

Возможность программного управления конкретным светодиодом зависит от конкретного оборудования. Например, на моем настольном компьютере есть несколько светодиодов, но ни один из них не выглядит управляемым. Я также экспериментировал с парой ноутбуков, и, хотя под ними было несколько записей /sys/class/leds/, я не смог контролировать состояние светодиодов, что означает, я думаю, что конкретный драйвер ядра не позволяет вручную управлять Светодиоды, обеспечивающие интерфейс только для чтения. Вот что я попробовал без эффекта:

# 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 

Нечто подобное выше, теоретически, должно позволять вам контролировать те светодиоды, которые поддерживаются драйверами ядра для конкретного оборудования. Если нет поддержки управления конкретным светодиодом в ядре, то, если не написать модуль ядра, мало что можно сделать.

Вот больше информации на эту тему у суперпользователя.

Вот основной источник: документация по ядру

Сергей
источник
1
Я скачал документы и сам проработаю их. Спасибо. Однако я, конечно, был бы признателен пошаговое руководство от вас, если бы это было возможно ...
Byte Commander