笔记本电源管理(acpi及(k)powersave)解决方案
本文适用于 ML 2.0 Final。1. 系统已经默认开启 acpid 服务,无须自行启动。
2. 启动 powersaved 服务:
在 /etc/rc.d/rc.local 中加入
service powersaved start
3. 编辑 /etc/sudoers:
例如你的用户名是 kevin,在 kevin 为首的一行添加 powersave 及kpowersave 命令
kevin ALL=NOPASSWD:/bin/mount -t iso9660 -o loop\,……
/usr/sbin/adsl-stop,/usr/bin/powersave,/usr/bin/kpowersave
注意命令之间用逗号隔开。
4. 测试:可以重启机器或执行命令 service powersaved start,检查 powersave 及 kpowersave 是否可正常使用。
普通用户使用 kpowersave 时,可以用 sudo kpowersave。再通过 KDE 控制中心的 KDE 组件->自动运行程序设置,添加 sudo kpowersave。这样,登陆时,KDE 就自动运行 kpowersave 了。
5. 设置一些 acpi 的 events:
例如,笔记本合上时,可以指定休眠到 ram 或硬盘。编辑下面的脚本保存到 /etc/acpi/actions/lid.sh
#!/bin/sh
# lid.sh
die() {
echo "Unable to determine state of lid."
exit 1
}
STATE_FILE=/proc/acpi/button/lid/LID0/state
[ -f $STATE_FILE ] || die;
STATE=$(awk '{ print $2 }' < $STATE_FILE)
case "$STATE" in
"closed")
echo "Lid is closed."
sudo /usr/bin/powersave -u #suspend to ram
;;
"open")
echo "Lid is open."
;;
*)
die
;;
esac
并令其可执行:chmod a+x /etc/acpi/actions/lid.sh
编辑 /etc/acpi/events/sample.conf,加入事件:
event=button/lid
action=/etc/acpi/actions/lid.sh
重新启动 acpid,激活事件:service acpid restart
可以查看 /var/log/acpid,检查是否有异常。 补充说明:
1. 上文仅针对想要“偷懒”的fans,可以快速配置好笔记本的电源管理。
2. 如果不想通过sudo来连接powersaved,则需要修改/etc/dbus-1/system.d/powersave.conf中的策略。有兴趣的fans可以试试。
3. powersaved服务的启动顺序应在acpid及messagebus之后。如果你不想利用rc.local而使用chkconfig命令来添加powersaved服务,那么一定要注意这一点。 太感谢了!:idea: 救星啊!按你说的设置,现在powersaved和kpowersave真的是能使用啦!谢谢你!! Unable to determine state of lid.
晕,不能STR,是本本哦,怎么回事???
页:
[1]