树莓派4B长途桌面连接常见问题及解决方案:无外接屏幕情况下长途桌面不体现 ...

守听  金牌会员 | 2024-7-27 02:32:06 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 667|帖子 667|积分 2001

配景:在树莓派上举行开发,必要连接屏幕、键盘、鼠标,部署麻烦、占地方不方便。通过ssh+长途桌面(如用于UI相干效果展示)的方式开发更加便利,SSH根本上都没问题,大家遇到问题比较多的是诸如是否必要外接屏幕、长途桌面无法连接、连接上黑屏。本文说下遇到的一些问题及解决方案。
测试环境:树莓派4B + Ubuntu22.04 Desktop 64bit
目标:通过RealVNC或者向日葵连接<树莓派4B + Ubuntu22.04>长途桌面
1. 树莓派4B + Ubuntu22.04 + 接DSI/HDMI体现屏场景下,VNC或者向日葵无法连接长途桌面问题

通过Raspberry Pi Imager安装Ubuntu22.04 Desktop 64bit,完成向导设置后。先装上openssh,realvnc-server, 向日葵arm kylin版。
1.1 openssh-server安装

  1. sudo apt install openssh-server
复制代码
1.2 RealVNC server安装

可以从官网下载:
   https://www.realvnc.com/en/connect/download/vnc/
  ssh连接树莓派后执行:
  1. sudo dpkg --install  <VNC-Server-xxx-Linux-ARM64.deb>
复制代码
留意安装界面提示,根据指令设置下vnc server开机启动。
可以通过ps -e | grep vnc检察服务是否起来。

1.3 向日葵安装

官网下载kylin arm64版本:
   https://sunlogin.oray.com/product/localization
  安装:
  1. sudo dpkg --install  <SunloginClient_xxx_kylin_arm.deb>
复制代码
向日葵可以在外网访问局域网设备,VNC重要局域网内用,感觉更流通些。先接上键鼠,配置好向日葵,或者等VNC长途桌面搞好来,用VNC长途桌面来配置。

1.4 连接失败问题现象

PC上安装RealVNC Viewer,通过 <树莓派ip>:5900连接长途桌面。会不绝卡在连接界面

向日葵连接也是一样,卡在连接界面。

1.5 原因与解决方案

至于原因,必要提到Linux 系统上两种常用的图形体现服务器协议,Xorg 和 Wayland。
   Xorg 是传统的图形体现服务器,它是 X Window 系统的实现之一,也是最常用的版本。Wayland是一种新的图形体现服务器协议,旨在取代 Xorg,并解决 Xorg 中存在的一些问题。Ubuntu17开始引入Wayland,Ubuntu 默认情况下利用 Wayland 作为其图形体现服务器,但用户仍然可以选择在登录时利用 Xorg。 在 Wayland中,每个应用程序都有本身的窗口管理器,这些窗口管理器直接与硬件交互,而不是通过中间的体现服务器(如Xorg)。这种设计使得在长途桌面环境中难以捕获和传输图形数据。此外,Wayland的安全性模子要求严格的权限控制,长途访问会涉及到跨越这些权限边界的问题。
  就是现在Wayland对长途桌面支持不好,RealVNC和向日葵不支持Wayland协议,RealVNC和向日葵,只有切回Xorg。
(WayVNC可支持Wayland,想用的可以尝试下: https://shumeipai.nxez.com/2023/12/05/bookworm-the-new-version-of-raspberry-pi-os.html)
   1.sudo vim /etc/gdm3/custom.conf
2.将#WaylandEnable=flase解解释
3.sudo systemctl restart gdm3
  检察下图此处为X11,阐明切换成功,原本体现是Wayland

这个时候就可以通过VNC和向日葵连接成功。
2. 树莓派4B + Ubuntu22.04 + 不接DSI/HDMI体现屏场景下,VNC或者向日葵连接长途桌面体现黑屏问题

解决完上述Wayland体现系统导致的VNC无法连接问题后,别的一种场景就是不接屏幕(DSI或者HDMI屏幕),VNC可以连接成功但是体现黑屏。
通常两种解决方案:
方案1:HDMI显卡欺骗器

第一种方法是买个HDMI显卡欺骗器怼上,好不好用不知道,没试过。网友说行那就是行。

方案2:添加虚拟体现器

第二种方法是添加虚拟体现器
在/usr/share/X11/xorg.conf.d/创建xorg.conf文件,添加如下内容,生存后重启。
  1. Section "Device"
  2.         Identifier  "Configured Video Device"
  3.         Driver      "dummy"
  4.         VideoRam 256000
  5. EndSection
  6. Section "Monitor"
  7.         Identifier  "Configured Monitor"
  8.         HorizSync 5.0 - 1000.0
  9.         VertRefresh 5.0 - 200.0
  10.         ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
  11. EndSection
  12. Section "Screen"
  13.         Identifier  "Default Screen"
  14.         Monitor     "Configured Monitor"
  15.         Device      "Configured Video Device"
  16.         DefaultDepth 24
  17.         SubSection "Display"
  18.         Depth 24
  19.         Modes "1920x1080" "1440x900" "1280x800" "1024x768"
  20.         EndSubSection
  21. EndSection
复制代码
重启后即可在无外接屏幕情况下,体现长途桌面。检察体现器,这里体现"Unknown Display", 分辨率我们设置最大是1080p了,想上4K,可以xorg.conf配置下,不外以为没太大必要,分辨率过高,感觉会卡。

备注1:
对于原生的树莓派系统,通常执行以下操纵即可。
  1. sudo vi /boot/config.txt
  2. 找到#hdmi_force_hotplug=1,把前面的#号去掉重启
复制代码
对于Ubuntu22.04,/boot/fireware/config.txt没有这些属性, 有说把自行加上这两行,不外试了不加也没啥问题。
  1. hdmi_force_hotplug=1
  2. hdmi_safe=1
复制代码
备注2:
加了虚拟体现屏后,再接DSI体现屏开机,从开机到登录界面都正常,进入桌面后整个屏幕灰屏了。估计虚拟体现屏那里配置必要调整,还没时间研究。不外问题也不大,不影响我的利用场景。
备注3:
Xorg和Wayland切换也可以在登录界面选择,如下图,但是Ubuntu22.04这个设置图标默认没有。
试了卸载gdm3后重装,图标可以出现,但是重启几次,设置图标又没有了,没有细究,大家还是直接改配置文件吧。
  1. sudo apt purge gdm3
  2. sudo apt install gdm3
  3. sudo reboot
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

守听

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表