当前位置:首页 > 行业动态 > 正文

如何设置Linux系统实现自动待机功能?

在linux中,可以使用命令 systemctl suspend来使系统自动进入待机状态。

在Linux操作系统中,自动待机功能通常是为了节省电能和资源而设计的,在某些情况下,如长时间运行任务或远程访问服务器时,这一功能可能会带来不便,本文将详细介绍如何在Linux系统中关闭自动待机功能,并提供相关设置方法。

一、什么是休眠、待机与挂起?

1、休眠:休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作,当再次使用时需按开关机键,机器将会恢复到您的执行休眠时的状态,而不用再次执行启动操作系统复杂的过程。

2、待机:待机是将当前处于运行状态的数据保存在内存中,机器只对内存供电,而硬盘、屏幕和CPU等部件则停止供电,由于数据存储在速度快的内存中,因此进入等待状态和唤醒的速度比较快,不过这些数据是保存在内存中,如果断电则会使数据丢失。

3、挂起:挂起是一种省电模式,系统将机器的硬盘、显示器等外部设备停止工作,但CPU、内存仍然工作,等待用户随时唤醒,再次唤醒需要按键盘上的键数次。

二、查看自动待机状态

要查看系统是否开启了自动待机功能,可以使用以下命令:

sudo systemctl status sleep.target

如果显示如下信息,表示休眠处于开启状态:

● sleep.target Sleep
   Loaded: loaded (/lib/systemd/system/sleep.target; static; vendor preset: enabled)
   Active: inactive (dead)
   Docs: man:systemd.special(7)

三、关闭自动待机功能

通过系统设置禁用自动待机

对于Ubuntu 22.04等版本,可以通过图形用户界面(GUI)来管理电源设置:

1、打开“设置”:点击系统右上角的电源图标,然后选择“设置”。

2、进入“电源”选项:在左侧面板中选择“电源”。

3、调整“屏幕关闭”时间:将“屏幕关闭”时间设置为“从不”。

4、调整“自动挂起”时间:将“插入电源时”和“使用电池时”的“自动挂起”时间都设置为“从不”。

通过命令行禁用自动待机

对于喜欢使用命令行的用户,可以通过修改系统配置文件来禁用自动待机:

1、修改logind.conf 文件:

编辑配置文件:

 sudo nano /etc/systemd/logind.conf

修改以下参数:

 HandleLidSwitch=ignore
   HandleLidSwitchDocked=ignore
   HandleSuspendKey=ignore
   HandleHibernateKey=ignore
   HandleLidSwitchExternalPower=ignore

确保这些参数被取消注释并设置为ignore,这样系统将忽略休眠相关的触发事件。

2、重启系统d登录服务:

 sudo systemctl restart systemd-logind

3、使用gsettings 命令:

 gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
   gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'nothing'

检查当前设置:

 gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type
   gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type

通过 systemd 配置禁用自动待机

Systemd 管理系统和服务,包括电源管理,可以通过创建和修改服务文件来禁用自动待机:

1、创建一个新的服务文件:

 sudo nano /etc/systemd/system/inhibit-suspend.service

添加以下内容:

 [Unit]
   Description=Inhibit suspend
   [Service]
   ExecStart=/usr/bin/systemd-inhibit --why="Prevent suspend" --what=sleep /bin/bash -c "while true; do sleep 1000; done"
   [Install]
   WantedBy=multi-user.target

2、重新加载 systemd 配置并启用服务:

 sudo systemctl daemon-reload
   sudo systemctl enable inhibit-suspend.service
   sudo systemctl start inhibit-suspend.service

这个服务会阻止系统进入休眠状态。

四、分析说明表

方法 步骤 备注
图形用户界面禁用自动待机 系统设置 -> 电源 -> 屏幕关闭/自动挂起 -> 设置为“从不” 适合不熟悉命令行的用户
修改 logind.conf 文件 编辑配置文件 -> 修改参数 -> 重启 systemd-logind 需要sudo权限和重启服务
使用 gsettings 命令 设置电源和电池模式的自动挂起为“nothing” 直接修改GNOME设置,立即生效
创建 systemd 服务文件 创建服务文件 -> 添加内容 -> 重新加载 systemd 配置 -> 启用和启动服务 通过持续运行脚本阻止系统休眠

在Linux系统中禁用自动待机功能可以通过多种方法实现,用户可以根据自己的技术水平和需求选择合适的方法,无论是通过图形界面还是命令行,都可以有效地防止系统进入自动待机状态,确保长时间运行的任务不受干扰,通过理解和应用这些设置,可以更好地管理Linux系统的电源行为,提高工作效率和系统稳定性。

小伙伴们,上文介绍了“linux 自动待机”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

0