Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Controlling CPU Fan Speed on Mac mini 5,2 with Ubuntu 24.04

2026年09月09日に「Dev.to」が公開したITニュース「Controlling CPU Fan Speed on Mac mini 5,2 with Ubuntu 24.04」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Mac mini 5,2 (Mid 2011) でUbuntu 24.04を使う際、CPUファンの速度制御方法を解説する。`applesmc`ドライバでファンを認識させ、`mbpfan`ツールを導入すれば、CPU温度に合わせてファンの回転数を自動調整できる。手動制御も可能だ。

ITニュース解説

Mac mini 5,2(Mid 2011)にUbuntu 24.04をインストールして利用する場合、特にCPUの冷却ファンの制御は重要な課題となる。古いハードウェアに新しいOSを導入する際、ハードウェアが本来持っている機能を適切に活用するためには、OS側の設定やドライバの調整が必要になる場合が多い。今回のケースでは、Mac miniのファンをUbuntu上で適切に制御し、システムの安定稼働と快適な利用環境を確保することを目的とする。

Mac miniのファン制御には主に二つの要素が関わる。一つは「applesmc」というLinuxドライバであり、これはIntel Macの温度センサー情報とファン制御インターフェースをLinuxのsysfsという仕組み経由で提供する。sysfsはLinuxカーネルがハードウェア情報をファイルシステムのような形式で公開する仕組みで、これによりユーザー空間のプログラムがハードウェアの状態を読み取ったり、設定を変更したりできる。もう一つは「coretemp」ドライバで、これはCPUの温度センサーから温度情報を取得する役割を担う。

まず、applesmccoretempドライバがシステムに正しく読み込まれているかを確認する必要がある。これにはsudo modprobe applesmcsudo modprobe coretempコマンドを用いて、それぞれのドライバを手動でカーネルに読み込ませる。その後、lsmod | grep -E 'applesmc|coretemp'コマンドで、これらのドライバが現在読み込まれているモジュールリストに表示されることを確認する。

次に、ファン制御のためのインターフェースがsysfs上に存在するかを確認する。find /sys/devices/platform -maxdepth 1 -type d -name 'applesmc.*' -print -quitコマンドを実行すると、applesmcドライバが公開しているディレクトリパスが特定できる。このパスをSMCという変数に格納し、ls -l "$SMC"/fan*コマンドで、そのディレクトリ配下にfan1_inputfan1_manualfan1_maxfan1_minfan1_outputといったファイルが存在するかを確認する。これらのファイルが存在すれば、ファン制御が可能であることを意味する。それぞれのファイルはファンの状態や設定値に対応しており、fan1_inputは現在のファン回転数、fan1_manualは手動制御モードのオン/オフ、fan1_maxfan1_minはファンの最大/最小回転数、fan1_outputは手動制御時の目標回転数を表す。これらのfan1_minfan1_maxの値はMacのモデルによって異なるため、catコマンドで実際の値を確認することが重要であり、特定の数値を決め打ちすることは避けるべきである。

ファンを手動で制御するテストを行うことも可能である。例えば、ファンを3000 RPMに設定したい場合、まずecho 1 | sudo tee "$SMC/fan1_manual"コマンドで手動制御モードを有効にする。teeコマンドは、標準入力を標準出力とファイルの両方に書き出すために使用され、sudoと組み合わせることで管理者権限でファイルに書き込みができる。次に、echo 3000 | sudo tee "$SMC/fan1_output"コマンドで目標回転数を設定する。数秒後、cat "$SMC/fan1_input"コマンドで現在のファン回転数を読み取ると、3000 RPM前後に調整されていることを確認できるだろう。ただし、手動制御のままにしておくと、CPUやGPUの負荷が増加してもファンの回転数が上がらず、システムが過熱する危険性があるため、テスト後は必ずecho 0 | sudo tee "$SMC/fan1_manual"コマンドで自動制御モードに戻すことが非常に重要である。

日常的な利用においては、CPU温度に連動してファンの速度を自動的に調整する「mbpfan」というツールを使うことが強く推奨される。Ubuntu 24.04にはmbpfanバージョン2.4.0が標準パッケージとして含まれているため、簡単に導入できる。まず、sudo apt updateでパッケージリストを更新し、sudo apt install mbpfan lm-sensorsコマンドでmbpfanと、温度センサー情報を取得するためのlm-sensorsパッケージをインストールする。インストール後、sudo systemctl enable --now mbpfanコマンドでmbpfanサービスを有効化し、すぐに起動させる。systemctl status mbpfanコマンドでサービスの稼働状況を確認できる。

mbpfancoretempドライバからCPU温度を読み取り、その情報に基づいてapplesmcドライバ経由でファンの速度を調整する。この動作は/etc/mbpfan.confという設定ファイルで詳細にカスタマイズできる。このファイルをsudo nano /etc/mbpfan.confなどのエディタで開いて編集する。設定ファイルには、low_temp(ファンが最低速度で動作し始める温度)、high_temp(ファンが最大速度に近づく温度)、max_temp(緊急的にファンを最大速度で回す温度)、polling_interval(温度を監視する間隔)といった項目がある。Mac mini 5,2向けに、例えばlow_temp = 55high_temp = 65max_temp = 80polling_interval = 1といった設定から試すことができる。ファンの最小/最大速度は、applesmcが報告する値をmbpfanが利用するが、もし明示的に指定したい場合は、事前にcat "$SMC/fan1_min"cat "$SMC/fan1_max"で実機の値を確認し、設定ファイルにmin_fan1_speed = 2000max_fan1_speed = 5500のように記述する。設定変更後は、sudo systemctl restart mbpfanコマンドでmbpfanサービスを再起動し、新しい設定を適用する必要がある。

システム稼働中には、温度とファン回転数をリアルタイムで監視することが可能である。sensorsコマンドを実行すると、CPUの各コア温度などのセンサー情報を表示できる。この情報を定期的に更新して表示するには、watch -n 1 sensorsコマンドを使用する。これにより、1秒間隔でsensorsコマンドの結果が更新表示される。さらに、ファンの実際の回転数も同時に確認したい場合は、watch -n 1 "cat $SMC/fan1_input; sensors"コマンドを実行することで、ファンの回転数とCPU温度の両方をリアルタイムで監視できる。これにより、mbpfanが意図通りに動作しているか、または設定が適切であるかを継続的に確認できる。

これらの手順を通じて、Mac mini 5,2でUbuntu 24.04を利用する際に、ファンの騒音と冷却性能のバランスを取りながら、安定した動作環境を構築することが可能となる。

関連コンテンツ

関連IT用語

関連ITニュース