在Thinkpad T400上安装了Debian Lenny后,发现电源管理似乎有点问题,系统不能正常的进入休眠/待机状态。当笔记本长时间处于Idle状态时,并不能进入待机或休眠状态,Gnome电源管理程序出现下面的提示:
Sleep Problem Your computer failed to suspend/hibernate. Check the help file for common problems.
在Google上搜索了一下,其它Thinkpad T400的用户可以在Linux下正常待机或者休眠(Suspend/Hibernate),看来应该是自己笔记本配置问题。
Linux上的电源管理由pm-utils实现,这个工具箱里包含了几个脚本:pm-hibernate、pm-suspend和pm-suspend-hybrid。这些脚本一般由窗口管理器Gnome或KDE,通过hald守护进程来调用。当然也可以直接调用这些脚本。Easwy首先使用root用户执行pm-hibernate:
sudo pm-hibernate
执行完这个命令后,笔记本就将内存镜像保存到磁盘上,然后进入休眠模式。既然root用户能切换到休眠模式,那应该是Gnome的登录用户easwy不具备相应的权限。根据参考文档一中的说明,把用户easwy加入powerdev组中,现在在Gnome Power Manager中选择hibernate就可以使计算机中进入休眠状态,不会出现上面的提示。
但新的问题又出现了,T400进入待机或休眠模式后无法正常恢复回来。现象是在恢复时,图形界面显示不完整,这时鼠标键盘都没有反应,过一段时间T400就重新加电重启了。
在网上搜了一下,好像这是由于xf86-video-intel驱动与芯片的兼容性问题(见参考文档二)造成的,使用下面的脚本可以解决这个问题:
#!/bin/sh # Workaround for concurrency bug in xserver-xorg-video-intel 2:2.4.1-1ubuntu10. # Save this as /etc/pm/sleep.d/00CPU . "/usr/lib/pm-utils/functions" case "$1" in hibernate|suspend) for i in /sys/devices/system/cpu/cpu*/online ; do echo 0 >$i done ;; thaw|resume) sleep 10 # run with one core for 10 secs for i in /sys/devices/system/cpu/cpu*/online ; do echo 1 >$i done ;; *) ;; esac
Easwy把上述脚本保存到/etc/pm/sleep.d/00CPU,现在,Thinkpad T400可以正常待机/休眠/恢复了。
更多关于Linux上Thinkpad T400的内容,请阅读Easwy的博客上的其它文章。
[ 参考文档 ]
T410下和你有一模一样的问题,用了你给的脚本,现在似乎能正常休眠恢复了。非常感谢。
太感谢了,看了这个帖子,改了之后,休眠用了1min,恢复用了45s,相当地快~
:-)
@b1gm0use
我测试了一下,我的Thinkpad从按下休眠键(Fn+F12)到进入休眠状态大概是30秒时间
而从休眠状态恢复也差不多是30多秒的时间。
看看这篇文章,也许对你有帮助:
http://ubuntuforums.org/showthread.php?t=1064894
你好,能不能说的再详细一些,你是指Gnome中的电源管理么?我看了一下,没有什么相关的项目。
@b1gm0use
我没有用Ubuntu,用的是Debian,不过Ubuntu应该是类似的
我的Debian从休眠中恢复很快,时间没具体测试过,不过肯定少于一分钟。
你检查一下电源管理的相关配置,看是不是配置的问题。
你好,我也是T400+Ubuntu的用户,请问你在用Ubuntu休眠和恢复的时候,有没有发现休眠和恢复的时间都很长?我估算了一下,冷启动到进入Gnome,大概也就是2分钟不到的时间,而从休眠中恢复大概要用5分钟,休眠的时间也比较长,但是没有估算过。