【Ubuntu】3种方式实现永不息屏与dconf-editor故障排除指南
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 Lock2.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分钟605分钟30010分钟60030分钟18001小时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 nameidle-delay typeu default0/default summary待机时间/summary description系统空闲多长时间后关闭屏幕秒/description /key重新编译schemassudo glib-compile-schemas /usr/share/glib-2.0/schemas/这种方法适合系统管理员批量部署开发环境时使用。4. 使用dconf-editor高级配置4.1 安装dconf-editordconf-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手动编译schemassudo glib-compile-schemas /usr/share/glib-2.0/schemas/如果还是不行尝试从其他正常工作的机器复制schema文件scp userremote:/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设为falsedconf-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禁用DPMSDisplay Power Management Signalingxset -dpms xset s off如果想永久生效可以把这些命令加到~/.profile文件中。5.2 笔记本合盖问题笔记本用户还需要注意合盖行为编辑logind配置文件sudo nano /etc/systemd/logind.conf修改或添加以下行HandleLidSwitchignore HandleLidSwitchExternalPowerignore重启服务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长时间开启会增加电费我的折中方案是开发时用永不息屏离开时手动锁定SuperL快捷键晚上关机前恢复默认设置对于服务器或长期运行的设备可以考虑使用防烧屏的屏幕保护程序比如简单的像素移动sudo apt install xscreensaver然后在xscreensaver设置中启用Only One Screen Saver和Blank After设置为30分钟等较长时间。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2418288.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!