当前位置: 首页 > news >正文

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

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

1 VNC介绍

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

2 配置VNC服务

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

2.1 安装VNC服务

sudo apt install x11vnc

在这里插入图片描述

2.2 创建连接密码

x11vnc -storepasswd

在这里插入图片描述
这里可以看到密码保存路径。

2.3 将VNC设置成服务

创建一个service文件:

sudo vim /etc/systemd/system/x11vnc.service

指定创建服务程序路径:

[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加入系统服务并开启:

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 系统可能也能适用,但未经过专门测试,使用时可能需要做一些额外的调整。

http://www.lryc.cn/news/620294.html

相关文章:

  • PG靶机 - Pelican
  • 飞凌OK3568开发板QT应用程序编译流程
  • 21. 抽象类和接口的区别
  • 【单板硬件】器件采购:BOM表
  • 大数据可视化设计 | 智能家居 UI 设计:从落地方法到案例拆解
  • 【从网络基础到实战】理解TCP/IP协议体系的核心要点(包含ARP协议等其他协议介绍)
  • 词向量转化
  • nginx知识点
  • C语言相关简单数据结构:顺序表
  • 使用 Simple Floating Menu 插件轻松实现浮动联系表单
  • Linux学习-UI技术
  • phpstudy搭建pikachu
  • 《探索C++ set与multiset容器:深入有序唯一性集合的实现与应用》
  • java中的各种引用
  • C++算法·递推递归
  • 从感知到执行:人形机器人低延迟视频传输与多模态同步方案解析
  • 飞算AI:企业智能化转型的新引擎——零代码重塑生产力
  • 音频重采样使用RandomOverSampler 还是 SMOTE
  • Python 基础语法(一)
  • Java研学-RabbitMQ(七)
  • 云计算-实战 OpenStack 私有云运维:服务部署、安全加固、性能优化、从服务部署到性能调优(含数据库、内核、组件优化)全流程
  • 《深入解析C++中的Map容器:键值对存储的终极指南》
  • FPGA+护理:跨学科发展的探索(四)
  • Java 大视界 -- 基于 Java 的大数据可视化在能源互联网全景展示与能源调度决策支持中的应用
  • Ubuntu24.04桌面版安装wps
  • 20250813比赛总结
  • Centos 用户管理
  • 在CentOS 7上配置Android USB网络共享方式的方法
  • 「数据获取」《中国海洋生态环境状况公报》(2001-2023年)(获取方式看绑定的资源)
  • 【linux】--U盘挂载