Ubuntu24.04版彻底禁用挂起休眠
Ubuntu最近更新到了24.04。

在PVE上创建一个虚拟机安装了Ubuntu24.04作为下载服务器,研究了好久才得以让局域网内的Windows可以访问到其共享文件夹。
用了几天又发现一个关于休眠的问题——无法禁止休眠——即便把锁屏设置到永不(never),长时间不动鼠标键盘,系统依然自动进入休眠。

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

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

相关功能包括以下 4 个服务,它们在用户或系统尝试进入睡眠状态时执行操作:
systemd-suspend.service
systemd-suspend-then-hibernate.service
systemd-hibernate.service
systemd-hybrid-sleep.service
禁用(屏蔽)上述服务不会停止操作,而是会中断睡眠过程。在 Ubuntu 中屏蔽挂起服务后,系统仍然会挂起,尽管它会在几秒钟后自动唤醒。

配置systemd-sleep.conf并编写规则可以完全禁止systemd的这些功能。
操作
打开终端,运行命令编辑systemd睡眠配置文件sleep.conf。
sudo nano /etc/systemd/sleep.conf文件打开后,在[Sleep]部分下设置以下规则:
[Sleep]
AllowSuspend=noAllowHibernation=no
AllowSuspendThenHibernate=no
AllowHybridSleep=no

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

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

换一种思路
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

真原水
校验提示文案
Blaudorn
校验提示文案
轻松一下
校验提示文案
值友3071888413
校验提示文案
值友3071888413
校验提示文案
轻松一下
校验提示文案
真原水
校验提示文案
Blaudorn
校验提示文案