如何在 Linux 中禁用挂起和休眠

今天我们将学习如何在 Linux 中禁用挂起和休眠。 在进入正题之前,我们先来看看计算机中挂起和休眠模式的简要介绍。

什么是挂起和休眠模式?

每当你 暂停 您的系统,计算机将进入睡眠模式。 含义 – 所有打开的应用程序、文件和文档都保持打开状态,但显示器和系统的其他部分将关闭以节省电源。 当您挂起计算机时,它不会完全断电。 计算机仍处于开启状态,并且仍将使用少量电量。

冬眠 是暂停类型之一。 目前有三种挂起方法可用:

  1. 暂停到 RAM 或者 正常挂起 – 在此模式下,屏幕和系统的大部分部分都将关闭(但不是完全关闭),除了 内存. 当用户在特定时间内处于非活动状态或系统使用电池运行或盖子关闭时,所有笔记本电脑都将进入此挂起模式。 当您按下某个键或单击鼠标按钮时,计算机将唤醒到正常模式。
  2. 暂停到磁盘 或者 休眠– 在此模式下,当前计算机的状态将被保存到 交换空间 并且系统将完全关闭。 当您再次打开系统时,状态将恢复。 这通常被称为 冬眠.
  3. 暂停到两者 或者 混合暂停– 在这种模式下,当前计算机的状态被保存到交换空间中,并调用通常挂起到 RAM 模式。 因此,计算机并未完全关闭。 如果电池电量耗尽,可以从磁盘恢复计算机。 如果电池没有耗尽,计算机可以从 RAM 恢复。 这有时被称为 混合暂停.

希望您了解有关挂起和休眠模式的基本概念。 现在让我们回到主题,看看如何禁用挂起和休眠模式。

在 Linux 中禁用挂起和休眠

如果要防止 Linux 机器挂起和休眠,请在 systemd 级别禁用以下目标:

$ sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

示例输出:

Created symlink /etc/systemd/system/sleep.target → /dev/null. Created symlink /etc/systemd/system/suspend.target → /dev/null. Created symlink /etc/systemd/system/hibernate.target → /dev/null. Created symlink /etc/systemd/system/hybrid-sleep.target → /dev/null.

在 Linux 中禁用挂起和休眠

Save 一切正常(以防万一),然后运行以下命令来应用更改:

$ sudo systemctl restart systemd-logind.service

或者,重新启动系统以使其生效。

检查更改是否已真正应用:

$ systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

示例输出:

● sleep.target    Loaded: masked (/dev/null; bad)    Active: inactive (dead)  ● suspend.target    Loaded: masked (/dev/null; bad)    Active: inactive (dead)  ● hibernate.target    Loaded: masked (/dev/null; bad)    Active: inactive (dead)  ● hybrid-sleep.target    Loaded: masked (/dev/null; bad)    Active: inactive (dead)

正如您在上面的输出中看到的,挂起和休眠系统目标已被屏蔽且处于非活动状态。

要在您的系统上重新启用挂起和休眠,只需运行:

$ sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

示例输出:

Removed /etc/systemd/system/sleep.target. Removed /etc/systemd/system/suspend.target. Removed /etc/systemd/system/hibernate.target. Removed /etc/systemd/system/hybrid-sleep.target.

如果您只是想防止在盖子关闭时暂停,请编辑文件 /etc/systemd/logind.conf

$ sudo nano /etc/systemd/logind.conf

添加/修改以下几行:

[Login]  HandleLidSwitch=ignore  HandleLidSwitchDocked=ignore

Save 和 close 文件。 不要忘记重新启动 systemd-logind.service 或重新启动系统以使更改生效。

有关更多详细信息,请查看手册页。

$ man logind.conf

建议阅读:

  • 在特定时间自动关闭、重新启动、挂起、休眠您的 Linux 系统
  • 自动从睡眠或休眠模式唤醒您的 Linux 系统
  • 如何在 Linux 中暂停进程并稍后恢复它

希望这可以帮助。

禁用休眠禁用暂停LinuxLinux 命令Linux 提示systemd