Ubuntu18.04关闭休眠(自动休眠与手动休眠)

ubuntu18.04做为虚机或实体机在使用过程中,某些情况下休眠后无法唤醒,必须强制重启(可能是驱动的原因)
为了规避这种情况,可以直接禁用Ubuntu的休眠功能。

关闭手动休眠

Ubuntu18.04手动休眠有以下两种途径:
1.进入锁屏界面,点击电源键,出现休眠键
在这里插入图片描述

2.点击电源键,下拉后长按电源键,或者将鼠标光标篇放到电源键上,按“Alt”,出现休眠键在这里插入图片描述
两种情况我在自己的虚机和公司的虚机上都试过,都会无法唤醒的状态

解决途径

用vim或gedit新建一个配置文件 com.ubuntu.enable-suspend.pkla
并添加如下内容。

[Re-enable suspend by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.suspend;org.freedesktop.login1.handle-suspend-key;org.freedesktop.login1;org.freedesktop.login1.suspend-multiple-sessions;org.freedesktop.login1.suspend-ignore-inhibit
ResultActive=no

建好后,sudo su进入管理员模式,将配置文件拷贝到/etc/polkit-1/localauthority/50-local.d/下(普通模式无法进入这个目录)。拷贝好后直接生效,不用重启。
之后可以检查一下,休眠键已经没有了。

对于Redhat系的linux系统,可以通过下面的指令直接关闭手动休眠。

systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target 2>&1

关闭自动休眠

关闭自动休眠的方式就有很多了,整理几种比较常用的方法

1.直接设置

最直接的一种,空白屏幕设置成“从不”,不多说了
在这里插入图片描述

2.修改配置文件

网上最多的办法
适用于使用SSH等控制远程桌面
打开配置文件

sudo vim /etc/apt/apt.conf.d/10periodic

把HandleLidSwitch后面的suspend改成ignore
然后重启服务:

执行
server systemd-logind restart
或者直接重启
sudo shutdown -r now

一般修改配置文件的方法都是需要重启操作的,尝试过“killall”配置文件相关进程的方法,但是效果并不理想,有时候还找不到相关的进程,干脆就直接重启

3.直接执行指令

在终端执行如下指令
仅限于使用Gnome桌面的系统(常用的linux系统基本都是莫默认使用Gnome)

sudo gsettings set org.gnome.desktop.session idle-delay 0

后面的0代表不休眠,如果为其他数字,单位是秒;
这是一个“前端指令”,也就是说可以放在终端里执行或者放在脚本里用source执行脚本,如果放到脚本里在root模式下后台执行,可能会失败。

指令的本质应该也是修改配置文件,但是文件的位置并没找到,只是找到了几个二进制文件,但是不确定是不是,如果有知道的同学欢迎评论交流一下

结尾

以上就是我接触过比较有效关闭ubuntu休眠的方式,还有其他几种修改配置文件的方式,但是亲测不是特别有效,不在赘述。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐