向日葵连接Ubuntu22.04黑屏
向日葵连接Ubuntu22.04黑屏


问题:这个工具在服务器或者工控机不连接显示器的时候向日葵无法正常显示桌面。
原因分析
1. Xorg 依赖物理显示器
Xorg 设计时通常依赖物理显示器来初始化和正常运行。没有连接显示器,Xorg 可能无法正确初始化图形输出,进而导致向日葵远程桌面无法获取有效的图形数据来进行远程显示。
解决办法
1. 使用虚拟显示设备
可以通过安装和配置虚拟显示设备,让 Xorg 以为有显示器连接。以 xrandr 和 xserver-xorg-video-dummy 为例:
- 安装
xserver-xorg-video-dummy
sudoapt-getinstall xserver-xorg-video-dummy 2. 使用 lspci 命令(查看真实显示器所连接的显卡具体信息)
lspci 命令可以列出系统中所有的 PCI 设备,包括显卡。打开终端,输入以下命令:
lspci |grep -i vga 输出示例
tyz@tyz-desktop:~$ lspci |grep -i vga 00:02.0 VGA compatible controller: Intel Corporation CometLake-S GT2 [UHD Graphics 630](rev 05) tyz@tyz-desktop:~$ # Intel UHD Graphics 630 显卡信息基于显卡信息创建 Xorg 配置文件
请注意,在修改配置文件之前,建议备份原有的 xorg.conf 文件,以防出现问题可以恢复。
sudocp /etc/X11/xorg.conf ~/xorg.conf.backup 以下是一个基于你提供的 Intel UHD Graphics 630 显卡信息,同时支持真实显示器和虚拟显示器的 /etc/X11/xorg.conf 文件示例:
# 真实显示器的配置 Section "Monitor" Identifier "RealMonitor" # 根据你的显示器实际支持的分辨率和刷新率调整 Option "PreferredMode" "1920x1080" HorizSync 28.0 - 80.0 VertRefresh 48.0 - 75.0 EndSection Section "Device" Identifier "RealDevice" Driver "intel" # 可以根据需要添加其他选项,如加速选项等 Option "AccelMethod" "sna" EndSection Section "Screen" Identifier "RealScreen" Device "RealDevice" Monitor "RealMonitor" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080" EndSubSection EndSection # 虚拟显示器的配置 Section "Monitor" Identifier "DummyMonitor" HorizSync 28.0 - 80.0 VertRefresh 48.0 - 75.0 # 为虚拟显示器定义一个模式行 Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync EndSection Section "Device" Identifier "DummyDevice" Driver "dummy" # 虚拟显存大小,可根据需要调整 VideoRam 256000 EndSection Section "Screen" Identifier "DummyScreen" Device "DummyDevice" Monitor "DummyMonitor" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1920x1080_60.00" EndSubSection EndSection # 组合屏幕配置 Section "ServerLayout" Identifier "MultiScreenLayout" # 主屏幕为真实屏幕,位置在左上角 (0, 0) Screen 0 "RealScreen" 0 0 # 虚拟屏幕在真实屏幕右侧 Screen 1 "DummyScreen" RightOf "RealScreen" # 禁用 Xinerama,使用 RandR 进行多屏幕管理 Option "Xinerama" "0" EndSection 说明:
- 真实显示器部分:
Monitor部分定义了真实显示器的基本参数,PreferredMode可根据你的显示器实际情况修改为合适的分辨率。Device部分指定了使用intel驱动,AccelMethod为加速方法,sna是较常用的一种。Screen部分将设备和显示器关联起来,并设置了默认的颜色深度和显示模式。
- 虚拟显示器部分:
Monitor部分为虚拟显示器定义了水平和垂直同步范围以及一个具体的模式行。Device部分使用dummy驱动,并设置了虚拟显存大小。Screen部分同样将设备和显示器关联,设置颜色深度和显示模式。
- 组合屏幕配置:
ServerLayout部分将真实屏幕和虚拟屏幕组合在一起,指定了它们的位置关系,这里将虚拟屏幕放在真实屏幕的右侧。
使用方法:
- 打开终端,使用以下命令编辑
/etc/X11/xorg.conf文件:
sudonano /etc/X11/xorg.conf - 将上述内容复制粘贴到文件中。
- 按下
Ctrl + X,然后按Y确认保存,最后按Enter退出编辑器。 - 重启显示管理器,以 GDM 为例:
sudo systemctl restart gdm.service - 重启 Xorg
重启系统或重新启动 X 服务器,使配置生效。
通过图形界面注销用户