【问题修复】ubuntu外接显示器之后,刚开始亮着,后面锁屏之后不亮

目录

Ubuntu 外接显示器 时出现:

刚插上时能亮 → 锁屏后 → 再唤醒外接显示器不亮

这种情况在 Ubuntu + NVIDIA / Intel / AMD 显卡环境中都比较常见,一般是 电源管理 / DP 信号 / 显示管理器 / 显卡驱动 的问题。下面按 最常见原因 → 排查方法 → 解决方案 讲清楚。


一、最常见原因:显示器被系统电源管理关闭

Ubuntu 在锁屏时会执行:

  • 关闭显示器
  • 进入 DPMS 节能
  • 关闭 HDMI/DP 输出

有些显示器或显卡 重新唤醒失败

查看是否开启 DPMS

运行:

bash 复制代码
xset q

如果看到:

复制代码
DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Enabled

说明开启了。


解决方法:关闭 DPMS

执行:

bash 复制代码
xset -dpms
xset s off

含义:

复制代码
关闭显示器节能
关闭屏幕自动关闭

如果问题消失,说明就是这个原因。


永久关闭

编辑:

bash 复制代码
~/.xprofile

加入:

bash 复制代码
xset -dpms
xset s off

二、Wayland 的 bug(非常常见)

Ubuntu 22/24 默认使用 Wayland,外接显示器经常会有:

  • 锁屏后外接显示器黑屏
  • 唤醒失败
  • 分辨率异常

查看当前是否 Wayland

bash 复制代码
echo $XDG_SESSION_TYPE

如果输出

复制代码
wayland

建议改成 X11


切换 X11

退出登录界面。

左下角选择:

复制代码
Ubuntu on Xorg

再登录。

很多外接显示器问题会直接解决。


三、NVIDIA 驱动问题(如果你是 NVIDIA)

如果你是:

复制代码
nvidia-smi

能看到显卡,那么黑屏概率更高。

原因:

复制代码
NVIDIA + Wayland + DP 外接显示器

经常锁屏后黑屏。

解决

1️⃣ 改 X11(最重要)

2️⃣ 更新驱动

bash 复制代码
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall

3️⃣ 重启


四、DP/HDMI 热插拔问题

有些显示器:

  • DP接口
  • USB-C转DP
  • HDMI转接

锁屏后系统认为:

复制代码
显示器 disconnected

解锁时不会重新识别。

检查

运行:

bash 复制代码
xrandr

看是否显示:

复制代码
HDMI-1 connected
DP-1 connected

如果锁屏后变成:

复制代码
disconnected

说明是这个问题。


解决

可以重新启用显示器:

bash 复制代码
xrandr --auto

或者:

bash 复制代码
xrandr --output HDMI-1 --auto

五、系统锁屏程序 bug

Ubuntu 使用:

复制代码
gnome-shell

锁屏程序偶尔会卡住外接显示器。

重启 gnome:

bash 复制代码
Alt + F2

输入:

复制代码
r

(Wayland 不支持)


六、笔记本合盖模式问题

如果你是:

复制代码
笔记本 + 外接显示器

合盖锁屏可能关闭 HDMI 输出。

检查:

复制代码
/etc/systemd/logind.conf

是否设置:

复制代码
HandleLidSwitch=ignore

七、我最推荐的稳定方案(99%解决)

按顺序做:

① 改 X11

登录界面选:

复制代码
Ubuntu on Xorg

② 关闭 DPMS

加入:

复制代码
~/.xprofile

xset -dpms
xset s off

③ 更新显卡驱动

复制代码
sudo ubuntu-drivers autoinstall

相关推荐
辞旧 lekkk2 小时前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
腾讯蓝鲸智云2 小时前
【运维自动化-节点管理】节点管理的插件策略如何使用
运维·自动化·云计算·sass·paas
疯狂成瘾者4 小时前
服务器的单体和集群
运维·服务器
liuhuizuikeai5 小时前
可视化门禁---Linux/Qt+SqLite篇
linux·运维·qt
初願致夕霞5 小时前
基于系统调用的Linux网络编程——UDP与TCP
linux·网络·c++·tcp/ip·udp
charlie1145141918 小时前
嵌入式Linux驱动开发——新 API 字符设备驱动完整教程 - 从设备结构体到应用测试
linux·运维·驱动开发
飞Link8 小时前
2000 亿砸向算力:字节跳动 AI 基建跨越,后端与运维的“万亿 Token”生死战
运维·人工智能
消失的旧时光-19438 小时前
C语言对象模型系列(四)《Linux 内核里的 container_of 到底是什么黑魔法?》—— 一篇讲透 Linux 内核的“对象模型”核心技巧
linux·c语言·算法
SWAGGY..9 小时前
Linux系统编程:(二)基础指令详解
linux·运维·服务器
kdxiaojie9 小时前
U-Boot分析【学习笔记】(3)
linux·笔记·学习