当计算机在虚拟控制台下时,Power Manager设置如何工作?

我想知道为什么当我使用虚拟控制台(或者调用CtrlAltF1之后出现的任何东西)时,电源事件不能按预期工作。

当盖子关闭时,我已将笔记本电脑设置为睡眠状态,当我处于图形界面时,它正常工作。 但当我切换到虚拟控制台时,关闭的盖子只是关闭屏幕。

怎么可能,我认为这些低级别的东西是由守护进程控制的,它们不依赖于我所在的接口类型?

你会在/etc/acpi/lid.sh找到答案。 你是正确的,有一个ACPI守护进程响应关闭盖子之类的事情。 但是,如果您查看脚本顶部附近的行:

 if [ `CheckPolicy` = 0 ]; then exit; fi 

你会看到一条线可以取消整个事情。 CheckPolicy检查Gnome Power Manager是否在当前控制台上运行。 如果是这样,它会中止,并让电源管理器处理它。

因此,当GNOME是活动会话时,Gnome Power Manager会处理这个问题。 当控制台是活动会话时,ACPI守护程序处理盖子。 如果您阅读了lid.sh脚本的其余部分,您将看到它所做的只是屏幕空白。

可能与consolekit有关。 Consolekit跟踪谁登录以及在何处处理多用户系统。 登录vt getty可能不会注册consolekit。 您可以查看ck-list-sessions 。 Gpm要求CK和pulseaudio一样。 当你切换到vt然后音频切断。