向日葵远程连接Ubuntu主机黑屏的解决方法是:安装xserver-xorg-video-dummy驱动、配置虚拟显示器、禁用Intel显卡热插拔检测、验证X Server识别、向日葵设为软件渲染。

如果您使用向日葵远程连接 Ubuntu 主机,但因主机未连接物理显示器导致黑屏,问题根源通常是 X Server 检测不到显示输出设备,从而无法初始化图形会话。以下是解决此问题的步骤:
本文运行环境:Ubuntu 22.04 桌面版,Linux 6.8 内核。
一、安装 xserver-xorg-video-dummy 驱动
该驱动提供虚拟显卡设备支持,使 Xorg 在无物理显示器时仍能加载图形服务并维持有效帧缓冲。
1、打开终端,执行更新软件包索引命令:sudo apt update
2、安装虚拟显卡驱动包:sudo apt install xserver-xorg-video-dummy
3、验证是否安装成功:dpkg -l | grep xserver-xorg-video-dummy
二、创建虚拟显示器配置文件
需在 Xorg 配置目录中新建或编辑配置文件,定义虚拟监视器参数与 dummy 显卡绑定关系,确保系统启动时自动加载。
1、创建配置目录(若不存在):sudo mkdir -p /etc/X11/xorg.conf.d
2、使用 nano 编辑虚拟显示器配置:sudo nano /etc/X11/xorg.conf.d/10-dummy-monitor.conf
3、输入以下标准配置内容(适配 1920×1080 分辨率):Section "Monitor"\n Identifier "DummyMonitor"\n HorizSync 28.0 - 80.0\n VertRefresh 48.0 - 75.0\n Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync\nEndSection\n\nSection "Device"\n Identifier "DummyCard"\n Driver "dummy"\n VideoRam 256000\nEndSection\n\nSection "Screen"\n Identifier "DummyScreen"\n Device "DummyCard"\n Monitor "DummyMonitor"\n DefaultDepth 24\n SubSection "Display"\n Depth 24\n Modes "1920x1080_60.00"\n EndSubSection\nEndSection
4、保存并退出 nano(按 Ctrl+O 回车确认保存,Ctrl+X 退出)。
三、禁用真实显卡的热插拔检测
部分 Intel 显卡(如 HD Graphics 630)在断开物理显示器后会主动关闭输出通道,需通过内核参数屏蔽该行为,强制维持显示子系统活跃。
1、编辑 GRUB 配置文件:sudo nano /etc/default/grub
2、定位到 GRUB_CMDLINE_LINUX_DEFAULT 行,在引号内添加参数:video=vesafb:off video=fbdev:off i915.enable_dc=0 i915.fastboot=1
3、更新 GRUB 配置:sudo update-grub
4、重启系统使内核参数生效:sudo reboot
四、验证虚拟显示器是否启用
系统重启后需确认 X Server 已识别虚拟屏幕,避免配置未加载或被覆盖。
1、登录终端,运行显示服务状态检查:systemctl status display-manager
2、查看当前活动的 Xorg 日志:grep -i "dummy\|monitor\|screen" /var/log/Xorg.0.log
3、执行分辨率查询命令,确认输出含虚拟模式:xrandr --listmonitors
4、若返回结果中包含 DummyMonitor 及对应分辨率,则配置已生效。
五、配合向日葵客户端启用兼容渲染
即使虚拟显卡就绪,向日葵默认 GPU 加速模式仍可能因缺少真实 GPU 上下文而失败,需切换至软件渲染路径。
1、在远程主机上启动向日葵客户端,进入主界面右上角「菜单」→「设置」→「显示」
2、关闭「启用硬件加速」选项:取消勾选“使用 GPU 加速渲染”
3、将「渲染模式」手动设为:软件渲染
4、点击「确定」保存,重新建立远程连接测试画面是否正常显示。











