文章目录
- 1. 树莓派4B + Ubuntu22.04 + 接DSI/HDMI显示屏场景下,VNC或者向日葵无法连接远程桌面问题
- 2. 树莓派4B + Ubuntu22.04 + 不接DSI/HDMI显示屏场景下,VNC或者向日葵连接远程桌面显示黑屏问题
背景:在树莓派上进行开发,需要连接屏幕、键盘、鼠标,部署麻烦、占地方不方便。通过ssh+远程桌面(如用于UI相关效果展示)的方式开发更加便利,SSH基本上都没问题,大家遇到问题比较多的是诸如是否需要外接屏幕、远程桌面无法连接、连接上黑屏。本文说下遇到的一些问题及解决方案,不一定是最优的方案,但能解决我的需求的方案就是好方案。
测试环境:树莓派4B + Ubuntu22.04 Desktop 64bit
目标:通过VNC或者向日葵连接<树莓派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安装
sudo apt install openssh-server
1.2 RealVNC server安装
可以从官网下载:
https://www.realvnc.com/en/connect/download/vnc/
ssh连接树莓派后执行:
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
安装:
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对远程桌面支持不好,VNC和向日葵不支持Wayland协议,我目前也没有找到好用的适配Wayland协议的远程桌面软件,所以想用VNC和向日葵,只有切回Xorg。
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:添加虚拟显示器
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年嵌入式&物联网开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上嵌入式&物联网开发知识点,真正体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!
了95%以上嵌入式&物联网开发知识点,真正体系化!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新!!