直接关dpms是最稳的底层方案:1.临时用xset -dpms和xset s off;2.永久需写入~/.xprofile或/etc/x11/xsession.d/99-disable-dpms;3.wayland用户须改compositor设置;4.还需禁用systemd-logind空闲挂起及桌面环境屏保锁屏。

直接关 DPMS 是最稳的底层方案
屏幕“休眠”本质是显示器进入低功耗状态,由 DPMS(Display Power Management Signaling)控制。桌面环境设置只是上层开关,真正起效的是 X server 的 DPMS 状态。绕过 GUI 直接操作它,兼容性最好、见效最快。
临时禁用(当前会话有效):xset -dpms —— 关掉 DPMS 后,显示器不会自动变暗或关闭xset s off —— 同时关掉屏幕保护器的超时逻辑(避免屏保误触发黑屏)
永久生效需写入 X 启动脚本:
把这两行加到 ~/.xprofile 或 /etc/X11/Xsession.d/99-disable-dpms(后者需 root):xset -dpmsxset s off
注意:Wayland 用户无法用 xset,得走 compositor 设置(GNOME/KDE 图形界面里改)
systemd-logind 是幕后挂起主力
哪怕你关了 DPMS,systemd-logind 仍可能在空闲几秒后强制挂起整机——尤其合盖、USB 设备拔插、甚至键盘无响应时。它不看桌面设置,只认自己的配置。
编辑 /etc/systemd/logind.conf,取消注释并设为:IdleAction=ignoreIdleActionSec=0HandleLidSwitch=ignoreHandleLidSwitchExternalPower=ignore
改完必须执行:sudo systemctl restart systemd-logind
⚠️ 坑点:如果存在 /etc/systemd/logind.conf.d/*.conf,它的优先级更高,logind.conf 的修改会被覆盖
桌面环境锁屏和屏保必须单独关
GNOME、UKUI(银河麒麟)、MATE 这些桌面环境有自己的屏保+锁屏策略,和 DPMS、logind 并行运行。只关一个,其他两个照样能黑屏或锁死。
以 UKUI(银河麒麟默认)为例:gsettings set org.ukui.screensaver idle-activation-enabled falsegsettings set org.ukui.screensaver lock-enabled falsegsettings set org.ukui.screensaver idle-delay 0gsettings set org.ukui.power-manager sleep-display-ac 0
如果是 GNOME:
把 org.ukui 换成 org.gnome,路径分别是:org.gnome.desktop.screensaver 和 org.gnome.settings-daemon.plugins.power
注意:若公司统管设备,dconf 数据库可能被锁定,gsettings set 会静默失败,得先检查权限:ls -l ~/.config/dconf/user,必要时修复:sudo chown $USER:$USER ~/.config/dconf/user
TTY 终端下黑屏是内核行为,xset 不起作用
按 Ctrl+Alt+F2 切到纯终端(没跑 X/Wayland),xset 命令直接报错,因为没 X server。这时黑屏由内核参数 consoleblank 控制,默认 10 分钟。
临时生效:setterm -blank 0
永久生效:
编辑 /etc/default/grub,在 GRUB_CMDLINE_LINUX 行末尾加:consoleblank=0
然后运行:sudo update-grub && sudo reboot
这个参数影响所有 TTY,但对图形会话完全无感——别指望它解决桌面黑屏问题











