web-dev-qa-db-ja.com

ハードディスクの温度(Hddtemp)に応じてFancontrolでファン速度を調整します

Fancontrolを介してハードドライブの温度に応じてファン速度を調整するにはどうすればよいですか?

2
Matthew Wai

FancontrolHddtemp を使用して、ハードドライブの温度に応じてファンの速度を制御する簡単なスクリプトをようやく見つけました、および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」は、それぞれスクリプトファイルと出力ファイルであることに注意してください。それらを混同しないでください。

4
Matthew Wai