嵌入式|VNC实现开发板远程Debian桌面

  每次使用开发板时都需要配置一块屏幕来进行显示调试和界面交互非常不方便,尤其是在频繁切换不同开发板或开发环境时。对于开发人员来说,屏幕配置的繁琐性可能成为一个生产力障碍,特别是在需要快速迭代和调试时。因此进行远程桌面就很有必要。

1 VNC介绍

  VNC(Virtual Network Console)是一种远程桌面协议,允许用户通过网络远程控制另一台计算机的桌面环境。它的工作原理是通过客户端与服务器之间传输图像、键盘输入和鼠标事件来实现远程操作。与传统的远程桌面技术不同,VNC 的特点在于它的平台独立性------用户可以在任何支持 VNC 协议的设备上访问目标计算机的桌面,无论是 Windows、Linux、macOS 还是其他操作系统。

2 配置VNC服务

本文分享的环境是基于 Ubuntu和Debian10,当然,对于 Ubuntu 的变种版本未进行专门测试。

2.1 安装VNC服务

bash 复制代码
sudo apt install x11vnc

2.2 创建连接密码

bash 复制代码
x11vnc -storepasswd

这里可以看到密码保存路径。

2.3 将VNC设置成服务

创建一个service文件:

bash 复制代码
sudo vim /etc/systemd/system/x11vnc.service

指定创建服务程序路径:

bash 复制代码
[Unit]
Description=x11vnc (Remote access)
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -display :0 -rfbauth /home/cat/.vnc/passwd -rfbport 5900 -forever -loop -noxdamage -repeat -shared -capslock -nomodtweak
ExecStop=/bin/kill -TERM $MAINPID
ExecReload=/bin/kill -HUP $MAINPID
KillMode=control-group
Restart=on-failure

[Install]
WantedBy=graphical.target

将x11vnc.service加入系统服务并开启:

bash 复制代码
sudo systemctl daemon-reload
sudo systemctl enable x11vnc
sudo systemctl start x11vnc
sudo systemctl status x11vnc

这里可以里看到X11VNC已经启动。
顺便提一下,本文中介绍的在 Linux 中创建服务的步骤实际上适用于其他程序,只需根据具体需求修改相应的配置文件即可。对于有兴趣深入了解的朋友们,可以根据自己的项目需求进行自定义配置,进行更多的探索和研究。

3 下载并安装VNC Viewer

下载地址:VNC Viewer

进入之后直接点击下载:

打开之后按下图操作:

这里修改你要安装软件的路径:

点击Install进行安装。

3 远程VNC服务端

打开VNC Viewer后点击File->New connection.

然后会蹦出一下画面:

第一项为你要访问的开发板ip,第二项为你的开发板用户名,点击OK后会出现以下界面:

输入密码点击ok则会连接成功。

总结

  本文分享了如何使用 VNC 远程访问 Debian 系统,经过测试,已成功在 Ubuntu 20.04 和 Debian 10 上进行配置和使用。其他版本的 Ubuntu 或 Debian 系统可能也能适用,但未经过专门测试,使用时可能需要做一些额外的调整。

相关推荐
Brilliantwxx4 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
richdata5 小时前
商品数字化不是先做大数据,而是先把数据变成可用决策
大数据·运维·数据治理·商品数字化·智能补货·ai商品决策
weixin_416667965 小时前
【无标题】
运维·服务器·网络
一池秋_6 小时前
arm低配linux设备,桌面应用冷启动提速方法
linux·运维·arm开发
上海云盾-小余8 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
IT大白鼠8 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
戴西软件8 小时前
戴西iDWS.3DViz Suite数据轻量化可视化软件,从传统桌面软件向云端协同的重大突破
大数据·运维·网络·人工智能·机器学习·3d
我命由我123459 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime
姚不倒9 小时前
Nginx 反向代理:5 种负载均衡策略与实战
运维·nginx·负载均衡
Uncertainty!!10 小时前
Linux 主机无法完成校园网认证排查记录:从 DHCP、ARP 到 Portal 认证流程分析
linux·运维·服务器