ubuntu,自动休眠后,程序自动暂停。如何破?

ops/2024/12/25 23:24:34/

昨天挂机想让出图,今天一看,不错,有一张。原来是机器休眠了,暂停了。

在Ubuntu系统中,当计算机进入休眠状态后,所有正在运行的应用程序都会被暂停,包括图形处理程序。为了避免这种情况,你可以采取以下几种方法来确保你的作图程序在系统休眠后能够继续运行:

### 方法一:禁用系统休眠

如果你不希望系统进入休眠状态,可以禁用休眠功能。

#### 1. 编辑 `/etc/systemd/sleep.conf`
打开终端并编辑 `/etc/systemd/sleep.conf` 文件:

```bash
sudo nano /etc/systemd/sleep.conf
```


添加或修改以下行以禁用休眠:

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


保存并退出编辑器(在nano中按 `Ctrl+O` 保存,然后按 `Ctrl+X` 退出)。

#### 2. 更新 systemd 配置

更新 systemd 配置以应用更改:

```bash
sudo systemctl daemon-reload
```


### 方法二:使用 `nohup` 或 `screen`

你可以使用 `nohup` 或 `screen` 来运行你的作图程序,这样即使你关闭终端或系统进入休眠状态,程序也会继续运行。

#### 1. 使用 `nohup`

`nohup` 可以让你的程序在后台运行,并且不受终端关闭的影响。

```bash
nohup python auto_save_jpg.py &
```


#### 2. 使用 `screen`

`screen` 是一个终端复用工具,可以在断开连接后继续运行程序。

##### 安装 `screen`

如果没有安装 `screen`,可以使用以下命令进行安装:

```bash
sudo apt-get install screen
```


##### 创建一个新的 `screen` 会话

```bash
screen -S mysession
```


##### 在 `screen` 会话中运行你的程序

```bash
python auto_save_jpg.py
```


##### 分离 `screen` 会话

按 `Ctrl+A` 然后按 `D` 键来分离当前的 `screen` 会话。

##### 查看已有的 `screen` 会话

```bash
screen -ls
```


##### 重新连接到 `screen` 会话

```bash
screen -r mysession
```


### 方法三:使用 `systemd` 服务

你可以将你的作图程序配置为一个 `systemd` 服务,这样它可以作为后台进程运行,并且不会受到系统休眠的影响。

#### 1. 创建一个新的 `systemd` 服务文件

创建一个新的服务文件,例如 `/etc/systemd/system/auto-save-jpg.service`:

```bash
sudo nano /etc/systemd/system/auto-save-jpg.service
```


添加以下内容:

```ini
[Unit]
Description=Auto Save JPG Service
After=network.target

[Service]
ExecStart=/usr/bin/python3 /home/duyicheng/gitee/ComfyUI/auto_save_jpg.py
WorkingDirectory=/home/duyicheng/gitee/ComfyUI/
StandardOutput=append:/var/log/auto-save-jpg.log
StandardError=inherit
Restart=always
User=duyicheng

[Install]
WantedBy=multi-user.target
```


根据实际情况调整 `ExecStart` 和 `WorkingDirectory` 的路径。

#### 2. 启用并启动服务

启用并启动服务:

```bash
sudo systemctl enable auto-save-jpg.service
sudo systemctl start auto-save-jpg.service
```


#### 3. 查看服务状态

检查服务的状态以确保它正在运行:

```bash
sudo systemctl status auto-save-jpg.service
```


### 方法四:调整电源管理设置

你可以调整系统的电源管理设置,使其在特定条件下不进入休眠状态。

#### 1. 使用 `gnome-tweaks`

如果你使用的是 GNOME 桌面环境,可以安装 `gnome-tweaks` 来调整电源管理设置。

##### 安装 `gnome-tweaks`

```bash
sudo apt-get install gnome-tweaks
```


##### 打开 `gnome-tweaks`

在应用程序菜单中找到并打开 `Tweaks`,然后导航到 `Power` 标签页,调整电源管理设置。

#### 2. 修改 `logind` 配置

编辑 `/etc/systemd/logind.conf` 文件来调整电源管理设置:

```bash
sudo nano /etc/systemd/logind.conf
```


取消注释并修改以下行:

```ini
HandleLidSwitch=ignore
IdleAction=ignore
```


保存并退出编辑器,然后重启 `systemd-logind` 服务:

```bash
sudo systemctl restart systemd-logind
```


### 总结

以上方法可以帮助你在Ubuntu系统中解决作图程序在系统休眠后自动暂停的问题。根据你的具体需求和使用习惯选择合适的方法。如果你不希望系统进入休眠状态,禁用休眠是最直接的方法;如果你需要远程访问或在后台运行程序,使用 `nohup`、`screen` 或 `systemd` 服务更为合适。


http://www.ppmy.cn/ops/144960.html

相关文章

Docker环境下数据库持久化与多实例扩展实践指南

引言 在Docker容器化技术中,数据库的持久化和多实例管理是两个关键问题。本文将详细介绍如何在Docker中实现数据库的持久化,并有效地管理多个数据库实例。 数据库持久化实现步骤 1. 创建Docker卷 Docker卷是实现数据持久化的关键。以下是创建Docker卷…

Flutter 实现全局悬浮按钮学习

Flutter 代码如何实现了一个全局悬浮按钮,当点击按钮时,会显示一个可以拖动并且通过长按可以移除的悬浮控件。 前置知识点学习 Offset Offset 是 Flutter 中的一个类,用于表示二维平面中的位置或位移。它通常用于描述坐标系中的一个点&…

《C 语言 Socket 网络编程:深入剖析与实战》

目录 一、引言 二、Socket 网络编程基础 (一)Socket 概念 (二)网络协议与 Socket 类型 (三)IP 地址与端口号 三、C 语言 Socket 编程实战步骤 (一)TCP 服务器端编程 &#x…

南海区2021年C++甲组真题第3题——Excel地址

题目描述 Excel单元格的地址表示很有趣,它使用字母来表示列号。 比如: A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ... 当然Excel的最大列…

day14-补充静态网卡配置

修改网络模式,修改静态ip,动态ip获取方式 查看当前的上网信息 1.确保你的机器,是连接的网络的,是插上了网线的。(模拟了物理服务器的软件是什么?看你的虚拟的机器(vmware)&#xf…

若依启动项目时配置为 HTTPS 协议

文章目录 1、需求提出2、应用场景3、解决思路4、注意事项5、完整代码第一步:修改 vue.config.js 文件第二步:运行项目第三步:处理浏览器警告 6、运行结果 1、需求提出 在开发本地项目时,默认启动使用的是 HTTP 协议。但在某些测试…

python1:开发环境及配置

1,win pc本地安装: 课上选用的是清华大学开源软件镜像站 主要是python解释器,除了上面的anaconda数据科学套件, 我课上还推荐学生使用vscode或pycharm 2,如果是在linux系统服务器上: 配置就更加简单了 vs…

封装(3)

大家好,今天我们来学习一下静态方法相关的内容,这个要和普通成员做一个区分,那么它们到底有什么不同点呢,我们现在就来看看。 7.2static修饰成员变量 1、访问方式,通过类名 静态变量不在对象里面,在方法区,要通过类名.访问. st…