为了解决一些可靠性问题挂起至内存(笔记本电脑盖子关闭时),我想询问哪个软件与此有关。这样我就可以解决以下问题:
- “挂起到内存”能否正常工作取决于登录状态和 tty3。我有 wayland 和 Xorg,有时还有一个在 1 到 5 个 tty 上运行的控制台
- 似乎涉及到
systemd
logind
我的一些 DE(最突出的是Gnome3
和xfce
)。 - 重新打开盖子并从最后一个恢复时,
suspend-to-ram
该gdm
东西不允许“挂起到内存”,迫使我在有另一次机会(这是不可靠的)“挂起到内存”之前锁定,其中它本身需要 5 秒以上(我可以从当时播放的音频看出,从合上盖子到关闭音乐很容易需要 7 到 10 秒)
我记得(从之前处理与挂起到内存相关的类似问题),“现代”Linux 使用 和Gnome
,systemd
并且loginkit
很logind
容易出现挂起问题,因为不同的软件与告诉“盖子关闭”和“禁止挂起”相关-到公羊”。
一个好的答案至少会列出与挂起到内存相关的软件。最好还简要概述不同软件的顺序和所扮演的角色。
前提是它可能取决于init
我最感兴趣的桌面环境和相关答案
- 系统
- Debian/Ubuntu 18.04
- 侏儒3
最佳答案还将强调我如何最多禁用任何软件和 GUI 相关的东西
和其他“有用的”自动化对我来说只是基本的(但有效):
root@box$ while sleep 1; do
grep "closed" /proc/acpi/button/lid/LID0/state && {
systemctl suspend
sleep 3
}
done
就足够了。
无论如何,这个问题试图找出的核心信息是(什么软件参与“检查盖子状态”并因此“挂起到内存”的任务?)
答案1
好的,既然acpid
看起来在您的系统上运行(请参阅评论),那么可能就是这个软件组件控制了电源管理。
它是通过配置的/etc/acpi/
。例如,在我的 Debian 中,我有一个/etc/acpi/events/lidbtn
配置文件,用于定义如何对与盖子相关的每个事件做出反应。
它包含了:
# /etc/acpi/events/lidbtn
# Called when the user closes or opens the lid
event=button[ /]lid
action=/etc/acpi/lid.sh
然后,我想添加一些在盖子关闭期间运行的操作,我只需将其添加到外壳的正确位置即可/etc/acpi/lid.sh
。设置的许多环境变量acpid
可以帮助检测事件类型。
您可以阅读 acpid 的联机帮助页以获取更多详细信息。