是否可以暂时禁用笔记本电脑的 LED?(硬盘、电源、充电)

Byt*_*der 11 laptop power-management 14.10

我的问题是是否可以运行终端命令(或其他任何命令)来禁用笔记本电脑的 LED 指示灯。

我有用于 CAPS、NUM 和 WiFi 的 LED,它们无论如何都关闭了。但是在天黑的时候硬盘使用指示灯一直在闪烁就很烦人了。
还有一个持续闪烁的蓝色/红色电源 LED 指示灯和一个我想关闭的充电指示灯。

因此,如果可能的话,我想编写一个脚本来禁用(和另一个启用)这些 LED。它们是由软件还是硬件控制的?我的笔记本电脑可能是大约 10 年前的无名型号(MaxData Pro 6100 iw)。它在 Ubuntu 14.10 (Utopic Unicorn) 上运行。

Ser*_*gey 6

一些 LED 仅适用于硬件,无法以编程方式更改其状态。

可以通过sysfs虚拟文件系统访问可以控制的文件/sys/class/leds/

是否可以通过编程方式控制特定 LED 取决于特定硬件。例如,我的台式机有几个 LED,但似乎没有一个是可控的。我还在几台笔记本电脑上进行了试验,虽然下面有一些条目/sys/class/leds/,但我无法控制 LED 的状态,这意味着,我认为,特定的内核驱动程序不允许手动控制LED,提供只读接口。这是我尝试过的,没有效果:

# 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 
Run Code Online (Sandbox Code Playgroud)

理论上,像上面这样的东西应该允许您控制特定硬件的内核驱动程序支持的那些 LED。如果内核中不支持控制特定的 LED,那么除了编写内核模块之外,您无能为力。

这里有关于超级用户主题更多信息

这是最终来源:内核文档