Linux 作为一个偏重 server side 的操作系统,它效仿的对象主要是传统的 Unix。加上早期 Linus 等开发者使用的电脑一般都比较老旧,因此 Linux 一开始其目标主机就不是普通用户使用的台式机或者笔电,对硬件的向后兼容性也比较重视,而对个人电脑硬件上的新特性则支持不是那么优雅——当然,这也和不少硬件厂商既不愿意为 Linux 自行开发驱动程序也不愿意为 Linux 开发者提供足够技术资料的做法有关。一个对于个人电脑用户比较明显的影响,就是 Linux 对计算机的电源管理支持一直都不如 Windows,即算是经过个人电脑业中的老战士 Apple 基于 BSD 改造出来的 OS X,在自家的 iBook/PowerBook 上,表现出来的电源管理能力也不如采用 Windows 的笔电(而例如 Panasonic 的笔电,甚至可以提供最长15个小时的续航能力)。
我的笔电,Toshiba SS LX/190DK,因为采用了素来发热就难以控制的 Nvidia 的显卡芯片,加上过于追求机身的轻薄使得散热不佳,导致在热量控制方面确实相当差强人意。在使用的过程,我发现这台笔电在使用外接电源供电的时候,发热量往往在开机后几分钟即迅速上升。但如果是使用电池供电的话,则发热的控制相对于采用外接电源时的情况要好得多。估计是因为采用不同供电系统的时候,操作系统对电脑使用了不同的电源管理模式。
在网上调查了一番,发现 Linux 有一个叫做 laptop_mode 的命令,这个命令即可以启用或者禁止“Laptop Mode”。所谓 Laptop Mode,是 Linux Kernel 2.4.23 和 2.6.6 以及更高版本中加入的一个特性,其目的主要是通过降低硬盘的转速来延长电池的续航时间。当然 Laptop Mode 不止这么一点功能,它还能几乎可以对笔电所有的电源管理特性进行调节。如果希望在 AC 供电的情况下也打开 Laptop Mode,首先需要编辑 /etc/laptop-mode/laptop-mode.conf,设置 ENABLE_LAPTOP_MODE_ON_AC=1 保存修改后,运行 sudo laptop_mode start force 为了验证笔电是否确实进入 Laptop Mode,可以输入命令 cat /proc/sys/vm/laptop_mode 查看,如果返回值为0的话,表示系统还未进入 Laptop Mode,如果返回的是其他正数值则表示系统成功进入 Laptop Mode。也可以通过输入 sudo laptop_mode status 查看 laptop_mode 报告的详细状态。有关于 Laptop Mode 的详细情况,可以用 man 命令查看 laptop_mode 和 laptop-mode.conf,其中包含了二者的详细参数说明。