我的计算机如何挂起?


9

试图了解暂停在10.10中的工作方式。

http://git.webconverger.org/?p=home.git;a=blob;f=.bashrc;h=8ba57b877e31a03c5f0b1675b42f747d81dd31ad;hb=HEAD#l31

我用 alias suspend='sudo /etc/acpi/sleep.sh && sudo alsactl init 0

alsactl位是重新初始化我的声卡有时不来中止了正常。

然后:

/etc/acpi/sleep.sh-> /usr/sbin/pm-suspend-> /usr/lib/pm-utils/bin/pm-action->/usr/lib/pm-utils/pm-functions

具有讽刺意味的是,它/usr/lib/pm-utils/bin/pm-action声称是“简单的暂停脚本”。

仍然不知道它是如何工作的。我想我s2ram以前直接用过。


我知道我不会解释太多,但是您可以将alsactl命令放入自己的脚本中,/etc/acpi/resume.d/并且它将在唤醒时运行。
奥利(Oli)

更新:我sudo systemctl suspend现在就使用。
hendry 2014年

Answers:


10

gnome-power-manager工具侦听挂起按钮事件,并生成pm-suspendpm-suspendman pm-suspend命令输出中可以找到有关操作方式的大量详细信息。快速版本:

  1. /etc/pm/config.d 扫描定义环境变量的文件。
  2. 在脚本中的每一个/etc/pm/sleep.d/usr/lib/pm-utils/sleep.d被称为为了与“暂停”的说法。
  3. 通过定义的接口模块使系统进入睡眠状态。默认情况下,这是内核暂停接口:echo -n "mem" >/sys/power/state。查看/usr/lib/pm-utils/pm-functions在哪里do_suspend定义。
  4. 系统唤醒。
  5. 在脚本中的每一个/etc/pm/sleep.d/usr/lib/pm-utils/sleep.d被称为与“恢复”的说法相反的顺序。

如果需要将脚本添加到堆栈中,建议将其添加到脚本中/etc/pm/sleep.d并命名为与其他脚本不冲突的名称,并确保其处理“ suspend” /“ resume”参数。

有关调试,请参见/var/log/pm-suspend.log手册页,其中包含有关如何进行测试的更多信息。


谢谢kees,尽管没有什么用处,但在第3步中触发“内核挂起”的命令究竟是什么呢?
hendry

我现在也进行了更新以包括该细节。
Kees Cook
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.