Ctrl我想知道为什么当我使用虚拟控制台(或- Alt-之后出现的任何内容F1)时电源事件不能按预期工作。
我已经将笔记本电脑设置为在合上盖子时进入睡眠状态,当我处于图形界面时,它工作正常。但是当我切换到虚拟控制台时,合上盖子只会关闭屏幕。
怎么可能呢,我以为这么低级的东西是由守护进程控制的,而且它们不依赖于我所处的界面类型?
答案1
您将在 中找到答案/etc/acpi/lid.sh
。您说得对,确实有一个 ACPI 守护进程可以响应诸如关闭盖子之类的操作。但是,如果您查看脚本顶部附近的行:
if [ `CheckPolicy` = 0 ]; then exit; fi
你会看到一行取消整个操作的命令。这个CheckPolicy
命令会检查当前控制台上是否正在运行类似 Gnome Power Manager 的程序。如果是,它会中止,并让电源管理器处理它。
因此,当 GNOME 为活动会话时,Gnome Power Manager 负责处理盖子。当控制台为活动会话时,ACPI 守护进程负责处理盖子。如果您阅读脚本的其余部分lid.sh
,您会发现它所做的只是使屏幕变黑。
答案2
可能与 consolekit 有关。Consolekit 会跟踪谁登录了以及在何处处理多用户系统。登录 vt getty 可能不会在 consolekit 中注册。您可以使用 进行检查ck-list-sessions
。Gpm 询问 CK 的方式与 pulseaudio 询问的方式相同。当您切换到 vt 时,音频会中断。