OEC Turbo Debian Armbian 系统 LED 灯控
📢 适用恩山 hoiw 编译固件 Flash_Armbian_25.05.0_rockchip_efused-wxy-oec_bookworm_6.1.99_server_2025.03.20.img
💡 固件特性说明:此固件基于 Armbian 25.05.0,使用 Rockchip 平台,Linux 内核版本 6.1.99,适用于服务器场景。
开机自动关闭 LED 指示灯(Systemd 服务方案)
📝 方案简介
通过 Systemd 服务在系统启动时自动关闭所有 LED 指示灯,适用于需要减少光污染或降低功耗的场景。
🔧 操作步骤
1️⃣ 创建 LED 控制脚本
创建脚本文件 /usr/local/bin/led-off.sh:
#!/bin/bash
# 关闭所有 LED 指示灯
for led in blue-led green-led red-led; do
echo none > /sys/class/leds/$led/trigger # 禁用自动触发器
echo 0 > /sys/class/leds/$led/brightness # 关闭亮度
done
执行命令创建文件:
sudo nano /usr/local/bin/led-off.sh
将上方脚本内容粘贴后保存(按Ctrl+X,然后Y,最后Enter)。
2️⃣ 设置脚本权限
sudo chmod +x /usr/local/bin/led-off.sh
💡 权限说明:
+x使脚本可执行
3️⃣ 创建 Systemd 服务文件
创建服务文件/etc/systemd/system/led-off.service:
[Unit]
Description=Disable LEDs at boot
After=multi-user.target # 在多用户目标之后执行
Requires=multi-user.target
[Service]
Type=oneshot # 一次性服务
ExecStart=/usr/local/bin/led-off.sh
RemainAfterExit=yes # 服务执行后保持激活状态
[Install]
WantedBy=multi-user.target # 随多用户目标启动
执行命令创建:
sudo nano /etc/systemd/system/led-off.service
4️⃣ 启用并启动服务
# 重新加载 systemd 配置
sudo systemctl daemon-reload
# 启用服务(开机自启)
sudo systemctl enable led-off.service
# 立即启动服务
sudo systemctl start led-off.service
5️⃣ 验证服务状态
systemctl status led-off.service
预期输出示例:
● led-off.service - Disable LEDs at boot
Loaded: loaded (/etc/systemd/system/led-off.service; enabled; preset: enabled)
Active: active (exited) since [时间戳]
Docs: man:systemd-sysv-generator(8)
Process: 1234 ExecStart=/usr/local/bin/led-off.sh (code=exited, status=0/SUCCESS)
Main PID: 1234 (code=exited, status=0/SUCCESS)
✅ 成功标志:看到
active (exited)状态,且 LED 指示灯已熄灭。
6️⃣ 重启验证
sudo reboot
重启后 LED 应保持关闭状态。
恢复初始灯光控制(撤销 Systemd 控制)
📋 恢复步骤
1️⃣ 停止并禁用 Systemd 服务
# 停止服务
sudo systemctl stop led-off.service
# 禁用开机自启
sudo systemctl disable led-off.service
2️⃣ 删除相关文件(可选)
# 删除服务文件
sudo rm /etc/systemd/system/led-off.service
# 删除脚本文件
sudo rm /usr/local/bin/led-off.sh
3️⃣ 重新加载 Systemd 配置
sudo systemctl daemon-reload
4️⃣ 重启系统
sudo reboot
重启后 LED 指示灯将恢复固件默认的控制逻辑。
额外提示与说明
🔍 调试与排查
查看服务日志:
sudo journalctl -u led-off.service
手动测试脚本:
sudo /usr/local/bin/led-off.sh
⚠️ 注意事项
- 路径确认:确保设备中的 LED 路径正确,某些设备可能使用不同的命名
- 权限问题:脚本需要 root 权限访问
/sys/class/leds/目录 - 兼容性:本方案适用于大多数 Linux 发行版,不限于 Armbian
- 备份建议:修改系统文件前建议备份
🔄 快速恢复脚本
如果需要临时恢复 LED 而不删除服务,可创建恢复脚本:
#!/bin/bash
# 恢复 LED 默认行为(心跳模式)
for led in blue-led green-led red-led; do
echo heartbeat > /sys/class/leds/$led/trigger
done
状态检查清单
| 步骤 | 检查项 | 状态 | 备注 |
|---|---|---|---|
| 1 | 脚本文件是否存在 | ☑️/☐ | /usr/local/bin/led-off.sh |
| 2 | 脚本可执行权限 | ☑️/☐ | ls -la /usr/local/bin/led-off.sh |
| 3 | 服务文件是否存在 | ☑️/☐ | /etc/systemd/system/led-off.service |
| 4 | 服务已启用 | ☑️/☐ | systemctl is-enabled led-off.service |
| 5 | 服务运行状态 | ☑️/☐ | systemctl status led-off.service |
✨ 完成! 现在你的设备将在启动时自动关闭 LED 指示灯,节省电力并减少光干扰。如需恢复默认设置,按恢复步骤操作即可。