相信用了 Thinkpad 一段时间的人都知道运行在 Windows 系统上的 Tp4xFanControl 这个小程序,它是一个绿色软件,能够设定 Thinkpad 风扇转动和停止的温度,还能控制风扇在多少度的时候转动或停止,以及风扇转动的速度。自从 T4x 以来 Thinkpad 的风扇一旦转起来,基本就不会停下来,虽然声音很小,但听着也还是很烦的,所以这个 Tp4xFanControl 不知道帮了多少黑友的大忙。
那么在 Linux 下,有没有类似的程序呢?当然有,事实上 tpfancontrol 正是从 Linux 上移植到 Windows 上去的。下面就介绍设置风扇在 Linux 下的转动,以及怎么让 tp-fancontrol 在开机时自动运行。文中涉及到的程序大家可以在 Thinkwiki 上找到。另外如果你的 Linux 内核版本小于 2.6.20-rc2 的话,你还需要打一个 ibm-acpi 的补丁。
1. 首先下载 tp-fancontrol,下载下来的文件名是 index.php,然后改变它的权限:
chmod a+x index.php
2. 拷贝到 /usr/bin/ 下。
cp index.php /usr/bin/tp-fancontrol
注意文件名必须是 tp-fancontrol。
3. 再下载 daemon script,以便开始开机自动运行。同样需要改变权限为可执行:
chmod a+x index.php
4. 拷贝到 /etc/init.d/ 下。
cp index.php /etc/init.d/tp-fancontrol
5. 然后给启动程序指定权限,Ubuntu 用户可以用:
update-rc.d tp-fancontrol defaults
来指定,其它的 distros 我不太清楚相应的命令,但可以自行设定符号链接,达到同样的效果:
ln -s /etc/init.d/tp-fancontrol /etc/rcx.d/S20tp-fancontrol
其中 x=2, 3, 4, 5
ln -s /etc/init.d/tp-fancontrol /etc/rcx.d/K20tp-fancontrol
其中 x=0, 1, 6
如此一来,就算设置好了让 tp-fancontrol 开机自动运行了,但我们的设置还没有结束,因为你还可以自行设定 /usr/bin/tp-fancontrol 这个文件里的阈值和风扇相应的转速。在 threshold 这个变量里你可以为 Thinkpad 内的各个部件设定温度,里面有详细的注解说明,一看就知。
另外如果需要知道工作原理,可以参看下面的几个链接:
How to control fan speed
ACPI fan control scrip
Patch for controlling fan speed (用 2.6.20-rc2 以前的内核的人看)