Laptop Mode Tools是笔记本运行Linux时的常用标配工具,在汉语Linux社区常被称为“省电模式”,其原理就是通过给硬盘和CPU降速、自动休眠部分USB等各种方式千方百计降低笔记本运行Linux的功耗。
此工具由于其大幅提升Linux笔记本的续航时间而大受欢迎,然而它也经常有误伤,比如Kaijia的USB鼠标则是每次中枪。鼠标在启动进入GRUB界面时一切正常,之后当Laptop Mode Tools启动(enabled)后,无论是否接入电源/即省电模式是否激活([not] active),鼠标都会自动断电休眠,每次都需要重新拔插后才可正常使用。
这个问题由来已久,中文社区也有大量的帖子和博文给出了解决方案。其中的核心思想是鼠标自动休眠是由Laptop Mode Tools工具的usb-autosuspend模块控制的,因此解决方案分两种:
1.编辑/etc/laptop-mode/conf.d/usb-autosuspend.conf将鼠标写入禁止自动休眠的黑名单。
2.直接禁用usb-autosuspend模块。
在Ubuntu 14.04以及12.04此方法均能正常工作,然而在Laptop Mode Tools 1.65中,开发者移除了usb-autosuspend模块,因此在Ubuntu 16.04(运行1.68版本的Laptop Mode Tools)中,上述方式均已无法使用了。
于是研究了一番变更日志(http://www.samwel.tk/laptop_mode/changelog),发现开发者给出的移除原因是运行时电源管理框架(Runtime Power Management Framework)已经被强化。顺藤摸瓜,Kaijia在新的配置文件/etc/laptop-mode/conf.d/runtime-pm.conf中找到了类似功能的配置项,配置项的名称已由AUTOSUSPEND_USBTYPE_BLACKLIST更改为了AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST。因此,将第45行:
AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST=""
AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST=""
更改为:
AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST="usbhid usb-storage"
AUTOSUSPEND_RUNTIME_DEVTYPE_BLACKLIST="usbhid usb-storage"
保存后重启电脑后鼠标即不会再次自动断电了。
另外提示一下,此工具的开发者比较粗心,配置文件中此行上方的示例代码参数是错误的(# Example: AUTOSUSPEND_DEVID_BLACKLIST=”usbhid usb-storage”),编辑时需要注意。