在 Linux 中,如何在 gnome 下关闭盖子时使用 systemd hybrid-sleep 而不是挂起?

在 Linux 中,如何在 gnome 下关闭盖子时使用 systemd hybrid-sleep 而不是挂起?

如何让 GNOME 3 在合上盖子或从菜单中使用挂起功能时使用 Systemd 混合睡眠而不是挂起?

答案1

如果你编辑文件/etc/systemd/logind.conf,您将看到有处理几个事件的规范,其中包括:

#HandleLidSwitch=suspend

(就我而言)。如果您删除#,您将激活该操作。然后您可以通过选择其中一个可用操作来更改它,忽略、关机、重启、停止、挂起、休眠、混合睡眠、锁定、kexec

还有许多其他等效键,处理所有常见事件。然后您必须重新启动systemd-logind守护进程以使新的配置生效。

Arch Linux 维基页面还指出:

在当前版本的 systemd 中,除非 Handle* 选项被某个程序(例如桌面环境中的电源管理器)“禁止”(暂时关闭),否则它们将在整个系统中应用。如果不采取这些禁止措施,您最终可能会遇到这样的情况:systemd 会挂起您的系统,然后在唤醒时,其他电源管理器会再次挂起系统。

警告:目前,最新版本的 KDE 和 GNOME 中的电源管理器是唯一发出必要的“禁止”命令的。在其他电源管理器发出这些命令之前,如果您希望 Xfce、acpid 或其他程序处理 ACPI 事件,则需要将“处理”选项设置为“忽略”。

请允许我补充一点(诚然,是主动提供的)建议。我不知道您运行的是 Arch Linux、Fedora 还是 Red Hat(目前使用的三大发行版)systemd),但当有疑问时,建筑维基是一个很好的信息来源:解释清楚、最新、正确、详尽。由于您正在使用systemd无论如何,你应该尽可能地使用它,它真的很珍贵。

答案2

Marius 的答案对我来说不起作用(也许我在他们的引用块中遇到了这种情况),但下面的答案确实起作用了。

目前,您可以在 Gnome Tweaks > General(撰写本文时为 Gnome v3.32.2)中启用“笔记本电脑盖合上时挂起”。这意味着当您合上盖子时,您的笔记本电脑将挂起。因此,如果您想做其他事情,例如休眠或混合睡眠,您可以让挂起表现得像其中之一。

/etc/systemd/sleep.conf您可以通过编辑和复制条目来HybridSleepMode实现这一点,HybridSleepState如下所示SuspendSleepModeSuspendSleepState

[Sleep]
#AllowSuspend=yes
#AllowHibernation=yes
#AllowSuspendThenHibernate=yes
#AllowHybridSleep=yes
#SuspendMode=
#SuspendState=mem standby freeze
# Configure suspend as hybrid-sleep
SuspendMode=suspend platform shutdown
SuspendState=disk
#HibernateMode=platform shutdown
#HibernateState=disk
#HybridSleepMode=suspend platform shutdown
#HybridSleepState=disk
#HibernateDelaySec=180min

systemctl suspend您可以通过运行并检查它是否进入混合睡眠而不是挂起状态来测试它是否有效。

笔记这意味着您不能再使用 suspend 了。如果您仍想使用 suspend,您可以将其与 hybrid-sleep 交换,并使 hybrid-sleep 的行为类似于 suspend。

相关内容