基于 s2ram 实现挂起
挂起到底需要什么?以前一直以为要acpi的东西,其实不需要的。挂 起的真正方案只有两种,一个是 s2ram,一个是 tuxonice,后者需要 对内核打补丁,而前者是纯粹的用户空间程序。
Debian 的 s2ram 在 uswsusp 软件包中。
首先找出你的系统怎样挂起才能正常唤醒。如果仅仅 s2ram 就可以挂 起并且能正常醒来的话,那就最好了,但如果你的机器是 unknown, 用 s2ram 的话来说你的机器不再白名单之列,那么就需要附加参数以 使 s2ram 正常工作。首先你得试试 s2ram -f,如果可行,那就没问 题了,如果不行,那就按照下面的命令逐一试验,知道可以为止,这 可是一个很伤机器的过程,但愿第一个命令就成功。
s2ram -f -a 3 s2ram -f -a 2 s2ram -f -a 1 s2ram -f -p -m s2ram -f -p -s s2ram -f -m s2ram -f -s s2ram -f -p s2ram -f -a 1 -m s2ram -f -a 1 -s
如果成功了,那么以后挂起就需要增加这些参数。当然这时相当麻烦 的,而且直接用 s2ram 来挂起计算机也是很低阶的。
建立于 s2ram 之上
s2ram 很低阶,有许多实用脚本是建立在 s2ram 之上的,这里我们使 用 pm-utils, 它可以自行配置。现在你已经知道了 s2ram 需要增加的 参数,那么要让 pm-suspend 能正常工作,就需要让 pm-suspend 向 s2ram 传递必要的参数,我们将 pm-utils 的配置写在 /etc/pm/config.d/ 里,文件名随意,比如 config。我们需要写上 ADD_PARAMETERS=”"双引号里写要附加的参数,具体那些参数可以用 pm-suspend –help 查看。这些参数对应的是哪个 s2ram 的参数,可以 看看 man s2ram,很容易对应起来的。完后,pm-suspend 也可以正常挂 起了。
到目前为止,挂起都还仅先于 root 用户,要让普通用户挂起,我们 需要一些图形界面程序,kde 下可以用 kpowersave,gnome 可以用 gnome-power-manager,此外,普通用户还必须是 powerdev 组的成员。 在没有其他电源管理脚本的情况下,上面的两个程序都会去调用 pm-utils 的。
这样,挂起的问题就解决了,我们根本不需要 acpi。
