qtembed应用程序输出到VNC

来源:互联网 发布:软件著作权真伪查询 编辑:程序博客网 时间:2024/04/28 04:00

VNC (Virtual Network Computing)是虚拟网络计算机的缩写。用于远程控制的一个开源工具。
我们这里要讨论的是将VNC作为一套显示系统,也就是说将完整的窗口界面通过网络,传输到另一台计算机的屏幕上。比如我们在嵌入式系统上开发的窗口程序,我们可以让它在我们的Linux主机上显示,被被鼠标和键盘所控制。

要让VNC工作,需要一个server端,和一个client端。server端提供要被显示的内容,而client端通过网络接收server端的内容将其显示出来。很明显我们的嵌入式设备上的Qt-Embedded应用输出是server,而我们的Linux主机是client

client端的工具,我们可以选择安装vnc4viewer,在ubuntu里安装命令为
$ sudo apt-get install vnc4viewer
而运行命令是
$ xvncviewer localhost:0
不过先别着急运行这个命令,如果你此时运行,你会得到”unable to connect to host: Connection refused (111)”这样的错误,因为server还没起来呢。

下面我们来看在嵌入式设备上怎么启动我们的vnc server.很简单,命令如下:
$ ./app -qws -display VNC:0
此处可能会出现错误”VNC: driver not found”,这是因为你在编译的时候没有把gfxdriver的vnc支持加进去,重新编译一下vnc的插件就行了。到你的src/plugins/gfxdrivers/vnc目录下,输入命令qmake,make install就可以了。然后重新运行
$ ./app -qws -display VNC:0
vnc server也就运行起来了,后面的这个数字0是可变的,你喜欢写哪个数字都可以,只不过在vnc client访问的时候要和这个数字保持一致。此时再去你的host端运行xvncviewer就能看到你在嵌入式端的应用界面了。

总结:总共分两步
1) 在嵌入式端运行 ./app -qws -display VNC:0
注意点:gfxdriver的vnc支持一定要有
2) 在Linux主机端运行 xvncviewer localhost:0
注意点:因为我这是在一台机器上测试,如果通过网络localhost应该换成嵌入式设备的IP. 后面的数字两边应该保持一致

原创粉丝点击