Mar*_*ell 6 led hard-drive process ubuntu
我可以通过使用 HDD 和电源 LED 作为指示灯来获取进程状态吗?
我想使用绿色电源 LED 告诉我状态可用,使用红色 LED 告诉我状态不可用。
在 linux 机器上,您可以通过/sys/class/leds子目录查看并影响各种 LED 的状态和亮度。
在我的系统上:
> ls -l /sys/class/leds/
lrwxrwxrwx 1 root root 0 Jul 12 19:36 ath5k-phy0::rx -> ../../devices/pci0000:00/0000:00:14.0/0000:07:00.0/leds/ath5k-phy0::rx/
lrwxrwxrwx 1 root root 0 Jul 12 19:36 ath5k-phy0::tx -> ../../devices/pci0000:00/0000:00:14.0/0000:07:00.0/leds/ath5k-phy0::tx/
Run Code Online (Sandbox Code Playgroud)
让我们看看 ath5k-phy0::rx 子目录:
> ls -l
drwxr-xr-x 2 root root 0 Jul 12 21:26 power/
-rw-r--r-- 1 root root 4,096 Jul 12 21:26 brightness
lrwxrwxrwx 1 root root 0 Jul 12 21:26 device -> ../../../0000:07:00.0/
-r--r--r-- 1 root root 4,096 Jul 12 21:26 max_brightness
lrwxrwxrwx 1 root root 0 Jul 12 19:36 subsystem -> ../../../../../../class/leds/
-rw-r--r-- 1 root root 4,096 Jul 12 21:26 trigger
-rw-r--r-- 1 root root 4,096 Jul 12 19:36 uevent
Run Code Online (Sandbox Code Playgroud)
如果您检查显示的文件的内容,它会变得有趣。
查看trigger,您可以看到可用的“内置”触发器以及当前正在使用的触发器:
> cat trigger
none ADP1-online BAT0-charging-or-full BAT0-charging BAT0-full BAT0-charging-blink-full-solid rfkill0 rfkill1 [phy0rx] phy0tx phy0assoc phy0radio rfkill2
Run Code Online (Sandbox Code Playgroud)
找到方括号中的条目(向右),表示此时该 LED 正在受无线接收器状态的控制。当它接收到一个数据包时,它会发出橙色光(在这个系统上)。
您可以向此触发器文件回显名称以更改控制它的内容。想要显示电池何时充电或充满?
(as root!)
> echo BAT0-charging-or-full > trigger
Run Code Online (Sandbox Code Playgroud)
如果您将控制器设置为none,那么您可以将值输出到亮度文件来控制 LED 的开/关。
参考内核文档以获取更多信息总是好的。国际青年基金会
我过去玩过这个,但最近没有真正的。可用的 LED 完全取决于您的硬件和内核驱动程序/模块。天啊。
HDD LED 通常与硬盘驱动器控制器相连。除了引起一些硬盘驱动器活动之外,PC 上的操作系统没有其他方法可以使其亮起。操作系统无法访问电源指示灯。
更简单的方法是使用键盘 LED 来实现此目的。由于您在标签中指明了 Ubuntu,因此您可能需要查看一个名为 的程序。ledd
ledcontrol