Fancontrolを介してハードドライブの温度に応じてファン速度を調整するにはどうすればよいですか?
Fancontrol、Hddtemp を使用して、ハードドライブの温度に応じてファンの速度を制御する簡単なスクリプトをようやく見つけました、およびLm-sensors。次のスクリプトでは、「/dev/sda 」が監視対象のハードディスクであり、「/Fancontrol/Hddtemp 」がFancontrolが読み取る出力ファイル。押す Ctrl + Alt + T ターミナルを開いて次のコマンドを実行し、「/dev/sda 」が正しいかどうかを確認します。
Sudo hddtemp/dev/sd [a-z]
「S.M.A.R.T.」ではなく温度を表示するHddtempでサポートされているもののみを使用してください。利用不可"。
必要に応じて、スクリプト内の「/dev/sda 」を正しいものに置き換えます。
Fancontrolをまだ構成していない場合は、このページ、このページ を参照してください。 、およびこのページを実行し、次のコマンドを1つずつ実行します(最初のコマンドを実行した後でLinuxを再起動します)。
Sudoセンサー-検出
時計センサー
sudo pwmconfig
sudoサービスのファン制御の開始
次に、以下の手順を実行します。
(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)以下の行をファイルにコピーして保存します。
[サービス]
ExecStart =/Fancontrol/HDD_temp
[インストール]
WantedBy = multi-user.target
(6)以下のコマンドを1つずつ実行します。
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を再起動します。
Sudoサービスfancontrolの再起動
すると、「 hwmon1/pwm1 」によって制御されるファンは、ハードディスク温度「/Fancontrol/Hddtemp 」に応答します。 「HDD_temp」と「Hddtemp」は、それぞれスクリプトファイルと出力ファイルであることに注意してください。それらを混同しないでください。