今天我们将学习如何在 Linux 中禁用挂起和休眠。 在我们进入主题之前,让我们看一下计算机中暂停和休眠模式的简要介绍。
什么是挂起和休眠模式?
每当你 暂停 您的系统,计算机将进入睡眠模式。 含义 – 所有打开的应用程序、文件和文档都保持打开状态,但显示器和系统的其他部分将关闭以节省电力。 当您暂停计算机时,它不会完全关闭电源。 计算机仍处于开启状态,并且仍会使用少量电量。
这 冬眠 是暂停类型之一。 目前有三种可用的挂起方法:
- 挂起到 RAM 或者 正常暂停 – 在此模式下,屏幕和系统的大部分部分将关闭(但不完全),除了 内存. 当用户在特定时间不活动或系统使用电池运行或盖子关闭时,所有笔记本电脑都将进入此挂起模式。 当您按下某个键或单击鼠标按钮时,计算机将唤醒至正常模式。
- 挂起到磁盘 或者 休眠– 在此模式下,当前计算机的状态将被保存到 交换空间 系统将完全关闭。 当您再次打开系统时,状态将恢复。 这通常被称为 冬眠.
- 暂停两者 或者 混合暂停– 在这种模式下,当前计算机的状态被保存到交换空间,并调用通常的挂起到 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 中暂停进程并稍后恢复它
希望这可以帮助。