ToB企服应用市场:ToB评测及商务社交产业平台
标题:
树莓派4B长途桌面连接常见问题及解决方案:无外接屏幕情况下长途桌面不体现
[打印本页]
作者:
守听
时间:
2024-7-27 02:32
标题:
树莓派4B长途桌面连接常见问题及解决方案:无外接屏幕情况下长途桌面不体现
配景:在树莓派上举行开发,必要连接屏幕、键盘、鼠标,部署麻烦、占地方不方便。通过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安装
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对长途桌面支持不好,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文件,添加如下内容,生存后重启。
Section "Device"
Identifier "Configured Video Device"
Driver "dummy"
VideoRam 256000
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 5.0 - 1000.0
VertRefresh 5.0 - 200.0
ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080" "1440x900" "1280x800" "1024x768"
EndSubSection
EndSection
复制代码
重启后即可在无外接屏幕情况下,体现长途桌面。检察体现器,这里体现"Unknown Display", 分辨率我们设置最大是1080p了,想上4K,可以xorg.conf配置下,不外以为没太大必要,分辨率过高,感觉会卡。
备注1:
对于原生的树莓派系统,通常执行以下操纵即可。
sudo vi /boot/config.txt
找到#hdmi_force_hotplug=1,把前面的#号去掉重启
复制代码
对于Ubuntu22.04,/boot/fireware/config.txt没有这些属性, 有说把自行加上这两行,不外试了不加也没啥问题。
hdmi_force_hotplug=1
hdmi_safe=1
复制代码
备注2:
加了虚拟体现屏后,再接DSI体现屏开机,从开机到登录界面都正常,进入桌面后整个屏幕灰屏了。估计虚拟体现屏那里配置必要调整,还没时间研究。不外问题也不大,不影响我的利用场景。
备注3:
Xorg和Wayland切换也可以在登录界面选择,如下图,但是Ubuntu22.04这个设置图标默认没有。
试了卸载gdm3后重装,图标可以出现,但是重启几次,设置图标又没有了,没有细究,大家还是直接改配置文件吧。
sudo apt purge gdm3
sudo apt install gdm3
sudo reboot
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4