休眠状态下网络必然中断,因内存数据写入磁盘后网卡断电;需禁用休眠、待机、合盖休眠及空闲断连,并清除DDE底层休眠参数、屏蔽内核级触发、配置NetworkManager不自动断开WiFi,最后为下载进程添加systemd-inhibit抑制锁。

休眠(hibernate)状态下网络必然中断,因为系统会将内存数据写入磁盘并彻底断电,网卡失去供电,物理层面无法维持连接;您真正需要的是让系统不休眠、不待机、不锁屏断连,同时保持网络活跃,使下载、远程服务或SSH会话持续运行。
禁用所有休眠与待机触发路径
这是最基础且必须完成的一步,否则任何后续设置都会被内核级休眠覆盖。
点击任务栏右下角【控制中心】图标→【电源管理】→切换至【使用电源】页签(台式机)或同步操作【使用电源】与【使用电池】(笔记本)。
将【电脑进入待机模式】滑块拖动至【从不】位置;该设置仅作用于当前供电模式,笔记本用户必须在两个页签下都执行此操作。
将【关闭显示器】滑块也设为【从不】,避免视觉误判系统状态;若只需屏幕常亮而允许CPU低功耗,可保留此为5~15分钟,但【待机】必须为从不。
向下滚动到【合上盖子时】区域,分别将“接通电源时”和“使用电池时”两个下拉选项均设为【不采取任何操作】;【若此处仍为“休眠”或“待机”,合盖瞬间就会强制断电,此前所有设置全部失效】。
清除DDE桌面环境底层休眠延迟参数
图形界面设置无法覆盖gsettings中残留的休眠策略,某些UOS版本会在后台静默启用休眠延迟,必须手动清零。
按Ctrl+Alt+T打开终端。
依次执行以下四条命令:
gsettings set com.deepin.dde.power line-power-suspend-delay 0 → gsettings set com.deepin.dde.power battery-suspend-delay 0 → gsettings set com.deepin.dde.power line-power-hibernate-delay 0 → gsettings set com.deepin.dde.power battery-hibernate-delay 0
执行完成后,运行gsettings get com.deepin.dde.power line-power-hibernate-delay验证,返回值必须为0;若返回非零数字,说明某项未成功写入,需重试对应命令。
屏蔽内核级硬件事件触发
该步骤防止盖子闭合、空闲超时等动作绕过桌面环境,直接调用systemd-logind触发休眠,对所有用户生效。
第一步:sudo nano /etc/systemd/logind.conf
第二步:用方向键定位到HandleLidSwitch=、HandleLidSwitchDocked=、IdleAction=这三行
第三步:将它们全部改为HandleLidSwitch=ignore → HandleLidSwitchDocked=ignore → IdleAction=ignore
第四步:按Ctrl+O回车保存,Ctrl+X退出编辑器
第五步:sudo systemctl restart systemd-logind
确保NetworkManager不因锁屏或空闲断开WiFi
锁屏后下载中断的常见原因不是锁屏本身,而是配套的空闲检测脚本或自动断连策略在后台执行。
方法一:检查并重置锁屏命令
运行gsettings get com.deepin.dde.lock-screen lock-command;若返回值含/usr/local/bin/on-lock-wifi-down.sh之类路径,立即执行gsettings reset com.deepin.dde.lock-screen lock-command恢复默认行为。
方法二:禁用指定连接的自动重连与空闲断开
先执行nmcli connection show --active确认当前活跃WiFi名称,再运行:
sudo nmcli connection modify "your-wifi-connection-name" connection.autoconnect no
sudo nmcli connection modify "your-wifi-connection-name" connection.autoconnect-priority -100
方法三:删除可能存在的空闲断网定时任务
sudo rm -f /etc/cron.d/wifi-idle-down
为下载进程添加systemd-inhibit抑制锁
部分下载工具(如aria2c、wget、系统内置下载器)在锁屏后会被systemd判定为非关键服务而挂起,需显式注入唤醒抑制。
第一步:确认下载进程名,例如运行ps aux | grep aria2c | grep -v grep
第二步:对正在运行的进程添加抑制锁(以aria2c为例):
systemd-inhibit --what="handle-lid-switch:suspend" --who="download-task" --why="prevent download interruption" --mode=block aria2c -c
若下载已启动,可用loginctl inhibit临时注入:
loginctl inhibit --what=handle-lid-switch:suspend --who="download" --why="keep download alive" --mode=block sleep 3600

















