1. 为什么需要永不息屏?
很多朋友在用Ubuntu做开发或者演示的时候,都遇到过这样的尴尬:正调试代码到关键步骤,突然屏幕黑了;给客户演示产品时,讲到一半显示器自动休眠。这种时候不仅要重新唤醒屏幕,还得重新进入工作状态,特别影响效率。
我自己做机器学习训练时就深有体会,有时候模型要跑好几个小时,如果屏幕自动关闭,就没法实时观察训练过程的可视化结果。后来我发现Ubuntu系统默认的电源管理设置确实比较保守,主要是为了省电考虑。但对我们这些需要长时间保持屏幕激活的用户来说,就需要专门配置一下。
永不息屏的设置主要涉及GNOME桌面环境的两个关键参数:idle-delay(空闲延迟时间)和lock-enabled(是否启用锁屏)。理解这两个参数的关系很重要——即使设置了永不息屏,如果锁屏功能开着,系统在空闲一段时间后还是会进入锁屏状态。所以真正的"永不息屏"需要同时调整这两个设置。
2. GUI界面设置永不息屏
2.1 基础设置步骤
这是最直观的方法,适合刚接触Ubuntu的新手。我以Ubuntu 20.04 LTS为例(其他版本可能略有不同):
- 点击右上角的系统菜单(通常显示为齿轮或电池图标)
- 选择"设置"(Settings)
- 在左侧导航栏找到"电源"(Power)
- 在"节电"(Power Saving)选项卡下:
- 找到"息屏"(Blank screen)选项
- 在下拉菜单中选择"从不"(Never)
这个方法的优点是简单明了,不需要记忆任何命令。但有个小问题你可能已经发现了——这样设置后,屏幕虽然不会关闭,但系统还是会在一段时间后进入锁屏状态。要完全禁用锁屏,还需要额外设置:
- 在设置界面返回主菜单
- 选择"隐私"(Privacy)
- 找到"屏幕锁定"(Screen Lock)
- 关闭"自动屏幕锁定"(Automatic Screen Lock)
2.2 注意事项
这种GUI方式虽然简单,但在某些特殊情况下可能会失效。比如:
- 使用远程桌面连接时
- 外接显示器的情况下
- 使用某些桌面环境扩展(如Dash to Panel)时
如果发现设置不生效,可以尝试后面的命令行方法,通常更可靠。另外要注意,永不息屏会增加显示器的耗电量和使用时长,如果是笔记本用户,建议插电时使用这个设置,电池供电时还是恢复默认比较好。
3. 命令行设置方法
3.1 基本命令操作
终端命令的方式更适合批量部署或者远程管理的情况。Ubuntu使用gsettings来管理GNOME的桌面设置,相关命令非常简单:
查看当前息屏时间设置:
gsettings get org.gnome.desktop.session idle-delay设置永不息屏(0表示从不):
gsettings set org.gnome.desktop.session idle-delay 0禁用自动锁屏:
gsettings set org.gnome.desktop.screensaver lock-enabled false这三个命令我经常用,特别是在服务器上跑可视化任务时。建议把它们保存成一个shell脚本,需要时一键执行。
3.2 时间单位详解
idle-delay的单位是秒,但很多人对数字不敏感,这里列个常用时间对照表:
| 描述 | 秒数 |
|---|---|
| 1分钟 | 60 |
| 5分钟 | 300 |
| 10分钟 | 600 |
| 30分钟 | 1800 |
| 1小时 | 3600 |
| 从不 | 0 |
如果你想设置一个中间值,比如20分钟后息屏,就是1200秒。这个设置比GUI更灵活,可以精确到秒。
3.3 系统范围设置
有时候我们需要为所有用户设置这个参数,这就需要修改系统默认值而不是用户配置。方法如下:
- 找到系统默认的schema文件:
sudo find / -name "org.gnome.desktop.session.gschema.xml"- 编辑这个文件(通常在/usr/share/glib-2.0/schemas/目录下):
sudo nano /usr/share/glib-2.0/schemas/org.gnome.desktop.session.gschema.xml- 找到
idle-delay部分,修改默认值:
<key name="idle-delay" type="u"> <default>0</default> <summary>待机时间</summary> <description>系统空闲多长时间后关闭屏幕(秒)</description> </key>- 重新编译schemas:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/这种方法适合系统管理员批量部署开发环境时使用。
4. 使用dconf-editor高级配置
4.1 安装dconf-editor
dconf-editor是GNOME桌面环境的底层配置编辑器,可以访问所有设置项。安装命令很简单:
sudo apt install dconf-editor但这里经常会出现问题,我在多台设备上实测发现,Ubuntu 20.04及以上版本有时会报错:
(dconf-editor:20191): GLib-GIO-ERROR **: 09:51:37.617: Settings schema 'ca.desrt.dconf-editor.Lib' is not installed4.2 常见安装问题解决
这个错误是因为缺少必要的schema文件。解决方法如下:
- 首先确认是否安装了所有依赖:
sudo apt install --reinstall dconf-editor libglib2.0-bin- 手动编译schemas:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/- 如果还是不行,尝试从其他正常工作的机器复制schema文件:
scp user@remote:/usr/share/glib-2.0/schemas/ca.desrt.dconf-editor.Lib.gschema.xml /usr/share/glib-2.0/schemas/- 然后重新编译:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/4.3 使用dconf-editor设置永不息屏
成功启动dconf-editor后:
- 在搜索栏输入
idle-delay - 导航到
org > gnome > desktop > session - 修改
idle-delay值为0 - 同样在
org > gnome > desktop > screensaver下,将lock-enabled设为false
dconf-editor的强大之处在于可以看到每个设置项的详细说明和可能的值。比如有些隐藏选项在GUI和gsettings中看不到,但在这里可以修改。
4.4 备份和恢复设置
dconf-editor另一个实用功能是配置的导入导出:
导出当前设置:
dconf dump / > gnome-settings-backup.ini导入设置:
dconf load / < gnome-settings-backup.ini这个功能在重装系统或者配置多台机器时特别有用。我习惯把常用的工作环境设置导出保存,新机器上几分钟就能恢复所有配置。
5. 特殊情况处理
5.1 外接显示器问题
很多用户反馈,外接显示器时永不息屏设置会失效。这是因为Ubuntu对外接显示器有独立的电源管理设置。解决方法:
- 首先安装必要的工具:
sudo apt install xset- 禁用DPMS(Display Power Management Signaling):
xset -dpms xset s off- 如果想永久生效,可以把这些命令加到
~/.profile文件中。
5.2 笔记本合盖问题
笔记本用户还需要注意合盖行为:
- 编辑logind配置文件:
sudo nano /etc/systemd/logind.conf- 修改或添加以下行:
HandleLidSwitch=ignore HandleLidSwitchExternalPower=ignore- 重启服务:
sudo systemctl restart systemd-logind这样合上盖子也不会休眠了,适合外接显示器使用笔记本的场景。
5.3 系统更新后的设置恢复
Ubuntu系统更新有时会重置电源管理设置。建议:
- 定期备份当前设置
- 创建一个自动检查脚本:
#!/bin/bash CURRENT_DELAY=$(gsettings get org.gnome.desktop.session idle-delay) if [ "$CURRENT_DELAY" != "uint32 0" ]; then gsettings set org.gnome.desktop.session idle-delay 0 fi- 添加到cron定时任务:
crontab -e添加一行:
*/30 * * * * /path/to/your/script.sh6. 安全与节能考量
虽然永不息屏很方便,但也要注意安全和能耗问题:
- 物理安全:如果设备在公共场合,建议至少启用密码锁屏
- 显示器寿命:长期显示静态内容可能导致烧屏,特别是OLED屏幕
- 能源消耗:台式机显示器功率通常在20-50W,长时间开启会增加电费
我的折中方案是:
- 开发时用永不息屏
- 离开时手动锁定(Super+L快捷键)
- 晚上关机前恢复默认设置
对于服务器或长期运行的设备,可以考虑使用防烧屏的屏幕保护程序,比如简单的像素移动:
sudo apt install xscreensaver然后在xscreensaver设置中启用"Only One Screen Saver"和"Blank After",设置为30分钟等较长时间。