QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3118|回复: 3

笔记本电源管理(acpi及(k)powersave)解决方案

[复制链接]
发表于 2006-2-27 13:19:52 | 显示全部楼层 |阅读模式
本文适用于 ML 2.0 Final。

1. 系统已经默认开启 acpid 服务,无须自行启动。

2. 启动 powersaved 服务:
在 /etc/rc.d/rc.local 中加入
[code:1]service powersaved start[/code:1]

3. 编辑 /etc/sudoers:
例如你的用户名是 kevin,在 kevin 为首的一行添加 powersave 及kpowersave 命令
[code:1]kevin ALL=NOPASSWD:/bin/mount -t iso9660 -o loop\,……
/usr/sbin/adsl-stop,/usr/bin/powersave,/usr/bin/kpowersave
[/code:1]
注意命令之间用逗号隔开。

4. 测试:可以重启机器或执行命令 service powersaved start,检查 powersave 及 kpowersave 是否可正常使用。
普通用户使用 kpowersave 时,可以用 sudo kpowersave。再通过 KDE 控制中心的 KDE 组件->自动运行程序设置,添加 sudo kpowersave。这样,登陆时,KDE 就自动运行 kpowersave 了。

5. 设置一些 acpi 的 events:
例如,笔记本合上时,可以指定休眠到 ram 或硬盘。编辑下面的脚本保存到 /etc/acpi/actions/lid.sh
[code:1]#!/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
[/code:1]
并令其可执行:chmod a+x /etc/acpi/actions/lid.sh
编辑 /etc/acpi/events/sample.conf,加入事件:
[code:1]event=button/lid
action=/etc/acpi/actions/lid.sh[/code:1]
重新启动 acpid,激活事件:service acpid restart
可以查看 /var/log/acpid,检查是否有异常。
 楼主| 发表于 2006-2-27 13:28:40 | 显示全部楼层
补充说明:
1. 上文仅针对想要“偷懒”的fans,可以快速配置好笔记本的电源管理。
2. 如果不想通过sudo来连接powersaved,则需要修改/etc/dbus-1/system.d/powersave.conf中的策略。有兴趣的fans可以试试。
3. powersaved服务的启动顺序应在acpid及messagebus之后。如果你不想利用rc.local而使用chkconfig命令来添加powersaved服务,那么一定要注意这一点。
回复

使用道具 举报

发表于 2006-2-27 15:16:02 | 显示全部楼层
太感谢了!   救星啊!按你说的设置,现在powersaved和kpowersave真的是能使用啦!谢谢你!!
回复

使用道具 举报

发表于 2006-4-15 23:47:22 | 显示全部楼层
Unable to determine state of lid.

晕,不能STR,是本本哦,怎么回事???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-8 06:58 , Processed in 0.234500 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表