LS-WVL Debian 安裝後選項
Triggerhappy 按鈕
apt install triggerhappy
監聽按鈕
thd --dump /dev/input/event*
建立關機功能
echo "SW_LID 0 poweroff" > /etc/triggerhappy/triggers.d/gpf.conf
修改/lib/systemd/system/triggerhappy.service,把ExecStart user的nobody改成root,不然無權限執行poweroff
ExecStart=/usr/sbin/thd --triggers /etc/triggerhappy/triggers.d/ --socket /run/thd.socket --user root --deviceglob /dev/input/event*
重啟加載配置
systemctl daemon-reload
systemctl restart triggerhappy
即可按鈕實現關機
風扇控制
風扇狀態/sys/class/thermal/cooling_device0/cur_state
CPU溫度/sys/class/thermal/thermal_zone0/temp
安裝smartmontools
apt install smartmontools
硬碟溫度/usr/sbin/smartctl -a -d ata /dev/sda | grep -m 1 Temperature | awk '{print $10}'
風扇自動化腳本
#!/bin/bash
timestamp=$(date "+%Y-%m-%d %H:%M:%S")
# CPU溫度
cpu_temp=$(< /sys/class/thermal/thermal_zone0/temp)
cpu_temp=$(( cpu_temp / 1000 ))
# 硬碟溫度
hdd_temp=$(/usr/sbin/smartctl -a -d ata /dev/sda | grep -m 1 Temperature | awk '{print $10}')
echo "[$timestamp] CPU Temperature: ${cpu_temp}C"
echo "[$timestamp] HDD Temperature: ${hdd_temp}C"
# cpu偵測
if [ "$cpu_temp" -gt 60 ]; then
echo 0 > /sys/class/thermal/cooling_device0/cur_state
elif [ "$cpu_temp" -gt 55 ]; then
echo 1 > /sys/class/thermal/cooling_device0/cur_state
elif [ "$cpu_temp" -gt 50 ]; then
echo 2 > /sys/class/thermal/cooling_device0/cur_state
elif [ "$cpu_temp" -lt 50 ]; then
echo 3 > /sys/class/thermal/cooling_device0/cur_state
fi
# HDD溫度偵測
if [ "$hdd_temp" -gt 45 ]; then
echo 0 > /sys/class/thermal/cooling_device0/cur_state
elif [ "$hdd_temp" -gt 40 ]; then
echo 1 > /sys/class/thermal/cooling_device0/cur_state
elif [ "$hdd_temp" -gt 35 ]; then
echo 2 > /sys/class/thermal/cooling_device0/cur_state
elif [ "$hdd_temp" -lt 35 ]; then
echo 3 > /sys/class/thermal/cooling_device0/cur_state
fi
# 風扇狀態偵測
fan_state=$(< /sys/class/thermal/cooling_device0/cur_state)
echo "[$timestamp] FAN_State : ${fan_state}"
root@LS-WVL885:~# bash temp.sh
[2025-08-23 11:47:00] CPU Temperature: 55C
[2025-08-23 11:47:00] HDD Temperature: 37C
[2025-08-23 11:47:00] FAN_State : 2
#狀態
0 高速
1 中速
2 低速
3 停止
使用CRONTAB每分鐘執行腳本並寫入LOG
* * * * * /bin/bash /root/temp.sh >> /root/temp.log 2>&1