在工作中用到跑Linux系统的开发板,系统中带有Xorg程序(说明开发板是可以直接跑图形界面程序的,如果没有特殊要求不需要另外安装图形库,如果你的系统缺少相关的图形库,则需要安装),但开发板没有显示屏,之前学习过X Window System相关的知识,知道可以通过TCP将图形界面在另一台电脑上显示,于是就想到了在电脑上将开发板上程序的图形界面显示出来。
一. 所需条件:
1.跑Linux系统的开发板(有Xorg程序)
2.带图形界面Linux系统的PC机(我用的Ubuntu虚拟机)
3.PC机能和开发板网络通信(可以相互ping通,我的虚拟机的IP为192.168.0.28,开发板的IP为192.168.0.25)
二. Ubuntu虚拟机配置:
在虚拟机终端运行下面2个命令:
命令1:xinit /usr/bin/xterm -- :1 -listen tcp &
上面这个命令表示开启一个Xserver,运行xterm程序,监听tcp(6000 + n, 这里的n=1), Ubuntu开机会有一个DISPLAY 0所以这里创建DISPLAY 1(这里的1会在开发板的设置中用到)程序运行后虚拟机的界面编程如下图所示,不要担心,在终端输入exit命令就可以退出。
命令2:xhost+
上面这个命令表示允许所有的客户端通过网络连到上面创建的Xserver
三. 开发板配置:
通过ssh(或telnet)登陆到开发板,运行下面的命令设置DISPLAY变量:
export DISPLAY=192.168.0.28:1
这个命令中192.168.0.28是我Ubuntu虚拟机的IP,1与在Ubuntu虚拟机创建的Xserver的参数有关
四.测试
DISPLAY变量设置好后就可以在开发板上运行,带图形界面的程序了,我在测试时用到了gedit程序。
在程序运行前1.txt的内容为111
程序运行后在虚拟机的显示如下图:
编辑文件(输入gedit)并保存,如下图所示:
在虚拟机保存并退出gedit后,在开发板上查看1.txt文件,文件已修改如下图: