有些时候没有多余的显示屏给树莓派使用、显示屏太多看不过来或者为了调试方便而需要使用VNC进行远程控制,笔者在使用VNC的时候也遇到诸多问题,在这里向大家分享一下自己的拙见与各位共勉,如有不当之处,还请不吝赐教。

1.首先要准备的硬件

装有ubuntu桌面的树莓派4B一台、MINIHDMI转HDMI线缆一根、显示器一个、一台Windows电脑或者Linux或者手机一个,能提供wifi局域网的机器一台(路由器)。

开始前请保证相关设备在同一局域网下。

2.下载控制端对应系统的VNC软件

(1).Windows端

在此笔者推荐使用realvnc或者tightvnc,在此给出下载链接和主观感受。

realvnc下载 tightvnc下载

realvnc用户界面简洁清爽使用方便还可以网络同步本地数据,但是功能相对较少且传输速度较慢

realvnc主界面

realvnc使用界面

tightvnc功能相较于vnc更加小巧对内存占用较小同时功能更加丰富且传输速度更加迅速,不过界面有点梦回win98那味了

tightvnc主界面

tightvnc使用界面

(2).Android端

手机端似乎没有多少选择,找来找去也就realvnc开发了手机端,由于笔者使用的是安卓手机所以在这里只提供一下安卓端的下载链接,水果手机用户可以去商店里搜索一下应该也有。

安卓端realvnc下载 提取码:147f

手机端realvnc主界面

手机端realvnc使用界面

(3).linux端

笔者相信很少会有人使用Linux控制Linux但是还是指明一条已知的道路,这里直接去ubuntu桌面的应用商店下载对应的软件安装,或者去realvnc for linux官网下载对应版本的安装包(吐槽一句realvnc真的是万金油,哪都能用),由于篇幅所限就不放图了。

3.配置被控制端的VNC

打开ubuntu图的设置界面配置为如下图即可

配置界面

4.配置被控制端的设备在无显示器条件下运行VNC

(1).打开ubuntu设置点详细信息后点击用户解锁后把自动登录打开不然没屏幕进不了系统

打开自动登录

(2).安装虚拟显示屏

sudo apt update
sudo apt install xserver-xorg-video-dummy

(3).继续输入如下指令

cd /usr/share/X11/xorg.conf.d
sudo gedit xorg.conf

(4).在弹出的窗口中粘贴如下内容后保存并退出

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.0"
    EndSubSection
EndSection
 
Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30-70
    VertRefresh 50-75
    ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection

(5)查看自己的IP地址,输入:

ifconfig

IP地址的位置

记住此时的IP地址,待会有用(别用我的,每个人的可能都不一样)。

(6).重启使配置生效,输入:

sudo reboot

5.使用控制端VNC软件连接到被控制端

不管是windows还是安卓端流程上基本大同小异,这里就拿windows端realvnc举例

(1)打开软件,新建连接输入名称和刚刚的IP地址直接确定。

配置界面

(2).双击打开刚刚建立的终端连接输入ubuntu设置里面配置的VNC密码后即可连接

(3).如果分辨率大小不合适的话可以打开ubuntu设置界面调整分辨率

(4).如果使用IP地址无法建立连接可以使用ubuntu设置里面的host地址

(5).如果后续需要使用有线连接需要把虚拟显示屏卸载即输入

sudo apt purge xserver-xorg-video-dummy

之后给树莓派上电两分钟之后,打开控制端VNC软件就可以优雅而从容地使用设备啦!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐