【PC】Thinkpad X260でサーバ版Ubuntuでファンコン@電源周り
ジャンクなThinkpad X260をゲッツして以来、サーバとして構築しているところで御座いますが。
【JUNK】ジャンクなTP X260をゲッツしたんだが@ガイコツPC化
(ガワ+基板+LCDパネル別々に入手、キーボードとかバッテリーが無い状態)
最初、デスクトップ版Ubuntu22.04を入れていてテストしていた時は、なんら問題なかったんですが、サーバ版を入れたら、CPUクーリングファンが、全開動作するようになってしまった。
(;´Д`)なんでや
やっぱ、サーバ版とデスクトップ版って、色々と細かい所が違うようです。
んで、ファン動作するように設定した記録です。
ちなみに、BIOSで設定しても、症状変わらずでした。
とはいえ、ググればいくらでもヒットしますが、Thinkpad X260限定として、コピペすればイケるという感じでw
必要なパッケージのインスコ
sudo apt install lm-sensors thinkfan
lm-sensorsは、センサー値を読み取れるコマンドsensorsが利用できるようになる。
thinkfanは、Thinkpad向けのファンコントロールサービス。
センサーの調査
sudo sensors-detect
これを実行して、各センサーの状況を確認出来ます。そして、最後の質問で「YES」としてください。
/etc/modulesに、必要なモジュール(coretemp)が書き込まれます。
モジュールの読み込み
sudo vi /etc/modprobe.d/thinkpad_acpi.conf
で、新規作成の上、以下の行を追加。
options thinkpad_acpi experimental=1 fan_control=1
これで、thinkpad_acpiというモジュールが読み込まれるようになります。ここで、再起動しておく。
ファンコンの設定
sudo vi /etc/thinkfan.conf
で、新規作成の上、設定を記述していきます(インストール時に作成されてなかった)
hwmon /sys/devices/virtual/thermal/thermal_zone0/hwmon1/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
(0, 0, 60)
(1, 60, 65)
(2, 65, 70)
(3, 70, 75)
(4, 75, 80)
(5, 80, 85)
(7, 85, 32767)
これをコピペすればイケます。多分、兄弟機のX270/X250/X280でもイケるかもしれない。
上4行は、温度センサーデバイスの情報で、下部()は、ファンのコントロール設定になります。
左から、ファンレベル(0:停止~7:最大)、温度の範囲となってます。簡単ですね。
これはthinkfanのデフォルトなのですが、60度を超えるまでは、ファン停止なので、必要に応じて設定してみてください。
sudo thinkfan -n
このコマンドで、テスト動作させる事が出来ます。
ファンコンの動作
ファンコンは、自動で動作するようになっています(サービス)
sudo systemctl enable thinkfan
これで、サービスとして登録されます。
sudo systemctl start thinkfan
これで、起動となります。すぐさま、ファンが落ち着くのが分かるかと思います。
sensorsコマンドの結果でも、ファンが0RPMとなっていて停止してるのが確認出来ます。
それでも、室温+9度で維持してるという、Core i3 6100Uの省エネっぷりが凄い。
ちなみに消費電力は5W(LCD表示時)だもの。
CUIログイン待ちでの画面消灯
サーバ版にすると、ログイン画面が自動で消灯してくれない。
SSHアクセスがベースとなるので、そもそも画面が不要だ。
sudo vi /etc/default/grub
で、以下のように編集すればいい。
GRUB_CMDLINE_LINUX_DEFAULT="consoleblank=30″
30という数字は、秒数になる。0は常時点灯。
sudo update-grub
で、すぐさま適用になる。
これを適用すると、画面がOFFになり、消費電力も3Wまで落ちる。こんだけの消費電力だと発熱しない理由が分かる。
ノート閉じても寝ない
閉じてもスリープしないように設定します。
sudo vi /etc/systemd/logind.conf
の以下の部分を書き換えます。
HandleLidSwitch=ignore
サービスを再起動して、適用します。
systemctl restart systemd-logind