Ubuntu24.04版彻底禁用挂起休眠

2024-11-30 15:13:36 10点赞 49收藏 5评论

Ubuntu最近更新到了24.04。

Ubuntu24.04版彻底禁用挂起休眠

在PVE上创建一个虚拟机安装了Ubuntu24.04作为下载服务器,研究了好久才得以让局域网内的Windows可以访问到其共享文件夹

用了几天又发现一个关于休眠的问题——无法禁止休眠——即便把锁屏设置到永不(never),长时间不动鼠标键盘,系统依然自动进入休眠。

Ubuntu24.04版彻底禁用挂起休眠

度娘之后了解到,若想完全禁止系统休眠,需要手动配置systemd-sleep.conf文件。

Ubuntu24.04版彻底禁用挂起休眠

原理

对于现代 Linux 发行版(例如 Ubuntu、Debian、Fedora、Arch 和 openSUSE),挂起、休眠和其它睡眠功能由systemd掌管。

Ubuntu24.04版彻底禁用挂起休眠

相关功能包括以下 4 个服务,它们在用户或系统尝试进入睡眠状态时执行操作:

systemd-suspend.service
systemd-suspend-then-hibernate.service
systemd-hibernate.service
systemd-hybrid-sleep.service

禁用(屏蔽)上述服务不会停止操作,而是会中断睡眠过程。在 Ubuntu 中屏蔽挂起服务后,系统仍然会挂起,尽管它会在几秒钟后自动唤醒。

Ubuntu24.04版彻底禁用挂起休眠

配置systemd-sleep.conf并编写规则可以完全禁止systemd的这些功能。

操作

  1. 打开终端,运行命令编辑systemd睡眠配置文件sleep.conf
    sudo nano /etc/systemd/sleep.conf

  2. 文件打开后,在[Sleep]部分下设置以下规则:

    [Sleep]
    AllowSuspend=no

    AllowHibernation=no

    AllowSuspendThenHibernate=no

    AllowHybridSleep=no

Ubuntu24.04版彻底禁用挂起休眠

删除上面行开头的注释符号“#”(如果存在)并将值设置为 no,或者直接手动添加。完成后,Ctrl+S 保存更改,Ctrl+X 退出。

Ubuntu24.04版彻底禁用挂起休眠

3. 文件保存后,“暂停”选项立即从右上角关机菜单中消失。

Ubuntu24.04版彻底禁用挂起休眠

换一种思路

Systemd会从/etc/systemd/sleep.conf.d目录下的 .conf 文件读取配置。 这意味着,运行以下的命令来创建自定义conf文件:
sudo nano /etc/systemd/sleep.conf.d/disable-sleep.conf

disable-sleep.conf包含以下内容:

[Sleep]
AllowSuspend=no
AllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

重新启用挂起/休眠

方法一:

重新配置 /etc/systemd/sleep.conf 文件,注释掉(在开头添加 #)这 4 行。

方法二:

删除在目录 /etc/systemd/sleep.conf.d 下的 disable-sleep.conf:
sudo rm /etc/systemd/sleep.conf.d/disable-sleep.conf

展开 收起
5评论

  • 精彩
  • 最新
  • 方法二是删除吗?

    校验提示文案

    提交
    是的,删除那个不允许休眠的文件

    校验提示文案

    提交
    收起所有回复
  • 这个,真是太高深了

    校验提示文案

    提交
  • 正好遇到了,esxi中虚拟机

    校验提示文案

    提交
  • 最后一条写 /etc/systemd/sleep.conf.d/disable-sleep.conf 的才是正道

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
49
扫一下,分享更方便,购买更轻松