通过Qt的VNC方式调试开发板

本文介绍如何在没有显示屏的情况下,利用VNC服务进行Qt程序的远程调试。通过配置Qt库并启动VNC服务,可以在Windows或Linux系统上远程查看Qt程序的用户界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在启动开发板上的程序时,经常会运行类似下面的脚本
./browser-display "LinuxFB:/dev/fb1" -geometry 1920x1080 -qws&

 

Qt程序不仅支持LinuxFB方式,还支持其它的方式,有DirectFB、qvfb、VNC、transformedpowervr

 

VNC(Virtual NetworkComputing)是虚拟网络计算机的缩写。VNC是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是在基于UNIX和Linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。

VNC基本上是属于一种显示系统,也就是说他能将完整的窗口界面通过网络,传输到另一台计算机的屏幕上.

通过VNC服务,我们可以在Windows或Linux系统上通过vncviewer来远程操纵VNC服务端。

Qt程序可以通过在命令行添加-display VNC:0来启动VNC服务端,也可以指定0以外的其它数字。从而不需要开发板有屏幕就能开发Qt图形界面程序

 

export QWS_SIZE=1920x1080
./browser -display VNC:0 -qws &

如果得到

---------------------------------------------
VNC:driver notfound

---------------------------------------------


的错误,是因为你的Qt库的gfxdrivers插件linuxfb未编译
编译linuxfb十分简单,进入/qte-4.7.4/src/plugins/gfxdrivers/linuxfb目录运行
qmake
make clean
make
makeinstall
完成后将安装目录中的./plugins/gfxdrivers目录下的库拷贝到开发板中,并设置正确的插件路径,我的qt.conf设置如下:
-----------------------------------------------------------------------------------
[Paths]
Prefix = /usr/qte-4.7.4
Translations = share/qtopia/translations
Plugins = lib/qtopia/plugins
Libraries = lib
#Headers =include/qtopia
------------------------------------------------------------------------------------

然后再次运行程序
ifconfig
./browser -display VNC:0 -qws &

在Windows中启动VNC Viewer 4,连接开发板的IP,你就可以看到程序的UI界面了


 


参考文献:
1.使用VNC作为Qt-Embedded应用的输出,http://blog.sina.com.cn/s/blog_6d1656130100r4uf.html

<think>好的,用户想了解通过VNC远程连接开发板的具体流程,需要图解步骤。首先,我需要回忆VNC连接的基本步骤和相关知识。VNC(Virtual Network Computing)是一种远程桌面协议,允许用户通过网络远程控制另一台设备。对于开发板来说,通常需要先在开发板上安装并配置VNC服务器,然后在本地计算机上使用VNC客户端进行连接。 首先,需要确认开发板的操作系统是否支持VNC。常见的如树莓派等Linux开发板,通常使用RealVNC或TightVNC。用户可能需要安装VNC服务器软件,比如x11vnc或者vnc4server。安装完成后,需要配置VNC服务器,设置访问密码,并确保开发板的网络连接正常,能够被本地计算机访问到。 接下来,配置开发板VNC服务器。可能需要修改配置文件,设置分辨率、颜色深度等参数,并启动VNC服务。有些开发板可能需要启用VNC服务,比如通过raspi-config命令在树莓派上启用VNC。 然后,在本地计算机上安装VNC客户端,如RealVNC Viewer、TightVNC或者Remmina。用户需要知道开发板的IP地址,以及VNC服务的端口号(默认为5900)。连接时,输入IP地址和端口,然后输入之前设置的密码即可建立连接。 需要注意的是,如果开发板位于局域网内,直接使用局域网IP即可。如果需要通过互联网连接,可能需要配置端口转发或者使用内网穿透工具。此外,防火墙设置可能会阻止VNC连接,需要确保相关端口(如5900)是开放的。 可能用户遇到的常见问题包括连接超时、无法验证身份或者黑屏。这些通常是由于IP地址错误、端口未开放、VNC服务未启动或者配置错误导致的。需要指导用户检查这些方面。 现在需要将这些步骤整理成清晰的流程,分步骤说明,并尽可能详细。同时,用户要求图解步骤,但由于当前是文本回答,可以描述每一步需要进行的操作,并建议参考相关教程中的图示。例如,在安装VNC服务器部分,可以提到如何通过命令行安装,如何启动服务,如何设置密码等。在客户端连接部分,说明如何输入IP和端口,处理可能的安全警告等。 另外,需要引用相关资源,如OpenMV中文教程中可能提到的VNC配置步骤,或者星瞳科技的相关文档。确保引用正确,并在回答末尾添加引用标识。 最后,生成相关问题,帮助用户进一步解决可能的问题,如连接失败怎么办,如何提高连接速度,或如何配置自启动VNC服务等。</think>### VNC远程连接开发板具体流程 #### **步骤1: 开发板环境准备** 1. **安装VNC服务器** 通过SSH或串口登录开发板,执行命令安装`tightvncserver`: ```bash sudo apt update && sudo apt install tightvncserver ``` 部分开发板(如树莓派)已内置RealVNC,需通过`raspi-config`启用: ```bash sudo raspi-config # 选择Interfacing Options > VNC > Yes ``` 2. **配置VNC密码** 首次运行VNC服务时设置密码: ```bash vncserver # 按提示输入密码(建议8位以内) ``` 3. **修改分辨率与色深** 编辑启动配置文件(以`~/.vnc/xstartup`为例),添加: ```bash geometry=1280x720 # 分辨率 depth=24 # 颜色深度 ``` #### **步骤2: 本地计算机操作** 1. **安装VNC客户端** 下载并安装客户端(如[RealVNC Viewer](https://www.realvnc.com/en/connect/download/viewer/))。 2. **获取开发板IP地址** 在开发板终端执行: ```bash hostname -I # 显示局域网IP(如192.168.1.100) ``` 3. **建立VNC连接** 打开客户端,输入开发板IP和端口号(默认`5901`对应`:1`): ``` 192.168.1.100:1 ``` - 输入步骤1设置的密码 - 若提示安全警告,选择“继续” #### **步骤3: 高级配置(可选)** 1. **开机自启动VNC服务** 创建系统服务文件`/etc/systemd/system/vncserver.service`: ```ini [Unit] Description=TightVNC Server After=syslog.target network.target [Service] User=pi ExecStart=/usr/bin/vncserver :1 -geometry 1280x720 -depth 24 Restart=always [Install] WantedBy=multi-user.target ``` 启用服务: ```bash sudo systemctl enable vncserver ``` 2. **防火墙配置** 若使用UFW防火墙,开放端口: ```bash sudo ufw allow 5901/tcp ``` #### **连接示意图** ``` 本地计算机 → 输入IP:端口 → 验证密码 → 远程桌面 (VNC客户端) (开发板VNC服务) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值