Linux

根據硬碟溫度(Hddtemp)通過Fancontrol調整風扇速度

  • March 19, 2022

如何通過 Fancontrol 根據硬碟溫度調節風扇轉速?

我終於找到了一個簡單的腳本,通過Fancontrol、**HddtempLm-sensors**根據硬碟溫度控制風扇速度。在下面的腳本中,“ /dev/sda ”是要監控的硬碟,“ /Fancontrol/Hddtemp ”是Fancontrol要讀取的輸出文件。按Ctrl + Alt + T打開終端並執行以下命令以檢查“ /dev/sda ”是否正確:

sudo hddtemp /dev/sd

$$ a-z $$

僅使用 Hddtemp 支持的那個,它將顯示溫度而不是“SMART not available”。如有必要,

將“ /dev/sda ”替換為腳本中的正確選項。

如果你還沒有配置Fancontrol,看**這個頁面這個頁面這個**頁面,依次執行以下命令(執行第一個後重啟Linux):

sudo sensor-detect

手錶感測器

sudo pwmconfig

sudo service fancontrol start

然後,執行以下過程:

(1) 執行以下命令創建腳本文件。

sudo mkdir -p “/Fancontrol/” & sudo xed /Fancontrol/HDD_temp

(2) 將以下腳本複製到文件中並保存。

#!/bin/bash
File=/Fancontrol/Hddtemp
while true
do 
temperature=$(sudo hddtemp -n /dev/sda)
echo $(($temperature * 1000)) > "$File"
sleep 30 
done

(3) 執行以下命令使其可執行。

sudo chmod +x /Fancontrol/HDD_temp

(4) 執行以下命令創建服務文件。

sudo xed /lib/systemd/system/HDD_temp.service

(5) 將以下行複製到文件中並保存。

$$ Service $$

ExecStart=/Fancontrol/HDD_temp

$$ Install $$

WantedBy=多使用者.target

(6)一一執行以下命令:

sudo chmod 664 /lib/systemd/system/HDD_temp.service

sudo systemctl daemon-reload

sudo systemctl start HDD_temp.service

sudo systemctl enable HDD_temp.service

然後,腳本“ HDD_temp ”將在 Linux 啟動時作為系統服務執行。

(7) 執行以下命令編輯配置文件“ fancontrol ”。

sudo xed /etc/fancontrol

找到以“ FCTEMPS ”開頭的行。例如:

FCTEMPS=hwmon1/pwm1=hwmon1/temp1_input

在那一行,“ hwmon1/temp1_input ”是Fancontrol 目前讀取的溫度(例如晶片組溫度)。將其替換為“ /Fancontrol/Hddtemp ”,該行將變為:

FCTEMPS=hwmon1/pwm1=/Fancontrol/Hddtemp

保存文件並執行以下命令重新啟動 Fancontrol。

須藤服務風扇控制重啟

然後,由“ hwmon1/pwm1 ”控制的風扇將響應“ /Fancontrol/Hddtemp ”,即硬碟溫度。請注意,“HDD_temp”和“Hddtemp”分別是腳本文件和輸出文件。不要混淆他們。

引用自:https://unix.stackexchange.com/questions/499409