在Windows 下使用和调试Linux 图形界面程序.docx
- 文档编号:16176138
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:18
- 大小:628.03KB
在Windows 下使用和调试Linux 图形界面程序.docx
《在Windows 下使用和调试Linux 图形界面程序.docx》由会员分享,可在线阅读,更多相关《在Windows 下使用和调试Linux 图形界面程序.docx(18页珍藏版)》请在冰点文库上搜索。
在Windows下使用和调试Linux图形界面程序
在Windows下使用和调试Linux图形界面程序
Windows下可以通过SSH客户端或Telnet程序远程登录到Linux/Unix上进行管理,编程开发和调试字符界面程序.比如用MagicUnixC++这样的Windows下的集成开发环境.界面完全模仿VC++6.0.可以象VC++单步调试Windows程序一样,去调试Linux或Unix远程主机应用程序.非常高效和方便.
Linux图形界面程序呢?
是否能通过这种方法,在Windows下单步调试.MagicUnixC++的文档提到是可以通过StartNet的X-Win32来完成调试.但是文档写得非常简单.后来经过查找资料和试验,发现是确实是可以用这个方法在Windows下单步调试图形界面程序.
Windows下调试Linux时图形界面原理就是利用了XWindows体系是一个C/S结构的原理,在Linux上运行一个XWindows服务器.在Windows下运行一个X-Windows客户端.MagigcUnixC++通过XWindows客户端与服务器通讯完成图形界面软件的调试.
因此要在Windows调试LinuxGUI程序,必须配置如下软件
1.配置X-Windows网络服务
2.在Windows下安装和配置X-Win32
3.在MagicUnixC++配置和调试软件
以下将以Redhat9.0为例,演示如何安装远程的X-Client客户端
配置X-Windows网络服务
X-Window是用在大多数UNIX系统中的图形支持系统。
如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。
它由X联盟(www.X.org)定义并维护。
大多数的Linux用户使用的都是由XFree86项目(www.xfree86.org)提供的XWindow系统的实现。
xdm使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。
它允许X服务器从运行xdm服务的服务器上获得会话服务。
基本概念:
1、什么是XFree86
XFree86是XWindow系统的一种开放源代码的实现。
它提供了一种对鼠标、键盘、显卡和窗口图形环境的Client-Server接口。
所以客户端程序可以运行在不同的主机上,由一台服务器提供XWindow的Server服务。
2、什么是XDMCP
XDMCP即“XDisplayManagerControlProtocol”,是一种网络协议。
由它来建立图形客户端程序与XWindow服务器的连接与通信。
3、什么是XDM
XDM即“XDisplayManager”,由它来启动XWindow服务器,并管理图形客户端程序的登录、会话、启动窗口管理器(KDE、Gnome)等。
KDE和Gnome也提供了自己的xdm的实现,分别叫kdm和gdm。
4、什么是XFS
XFS即“XFontServer”,可以由由一台服务器来统一提供字体,远程图形客户端程序就不需要单独安装所有的字体了。
第一步:
修改配置文件
为了安全,缺省的网络服务是没有打开.所以需要手工打开如下配置
/etc/X11/xdm/Xaccess
⏹这是XDM接入权限设置
⏹把(大约40行):
#*#any host can get a login window行首注释#去掉
◆表示可以让所有主机接入
◆
/etc/X11/gdm/gdm.conf
⏹GNOME的显示配置
⏹找到[xmdcp]段,其中的Enable=false改为Enable=true或Enable=1。
◆表示打开xmdcp服务
◆
/etc/kde/kdm/kdmrc
⏹KDE的显示配置,这个测试不需要改也能成功,为了保险也一并修改
⏹找到[xmdcp]段,其中的Enable=false改为Enable=true或Enable=1。
◆表示打开xmdcp服务
◆
/etc/X11/xdm/xdm-config
●在(Line28)displayManager.requestPort:
0前面加上一个!
号,结果如下
⏹
Redhat9.0关于XDM缺省配置.以下各项是相关缺省配置,采用缺省值即可,不要修改
●/etc/X11/gdm/gdm.conf
⏹Port=177#xdm侦听端口必须是177
●/etc/X11/xdm/Xservers文件属性为444
●/etc/X11/xdm/Xsetup_0的属性为755
以上配置也可以用图形界面进行配置,作用与上面等效
第二步:
启动图形界面
有两种方式,一种是直接修改/etc/inittab设为图形界面启动模式.即修改第一句中数字为5,(3是字符界面启动)
id:
5:
initdefault
自动启动图形界面,X-Win32的登录框
还有一种是在主机的控制台输入startx手工启动图形界面
第三步:
打开服务
为简化处理,一般情况下选择直接关闭Linux防火墙.如果不想关闭防火墙,需要把UDP177端口开放出来,用如下命令:
iptables -A INPUT -pudp-s0/0-d0/0--dport177-jACCEPT
●启动XFS服务
XFS即“XFontServer”,可以由由一台服务器来统一提供字体,远程图形客户端程序就不需要单独安装所有的字体了。
在命令行下输入如下命令
servicexfsstop
servicexfsstart
可以用netstat来检查7100端口来判断XFS是否正常工作
netstat–ln|grep7100
如果结果中包含如下提示,表示XFS正常工作.
unix2[ACC]STREAMLISTENING2436/tmp/.font-unix/fs7100
●启动XDM服务
用xdm命令启动即可
可以用netstat来检查177端口来判断XFS是否正常工作
netstat–ln|grep177
如果结果中包含如下提示,表示XDM正常工作.
udp000.0.0.0:
1770.0.0.0:
*
配置X-Win32与服务器相连.
●广播表示客户端向局域网所有X-Windows服务器发送广播包查询其IP地址
⏹如果是局域网中并且X-Windows服务器不多采用这一模式
●查询模式表示向指定主机发送X-Windows主机,
●间接表示填写HOST地址直接链接X-Windows服务器上
X-Win32连接的效果
在putty中运行图形界面程序
有时不需要调试的应用程序的情况下,一般是在putty下进行编译和运行,但图形界面程序一般不能用这种模式运行.在X-Win32配置成功后,我们可以用putty结合X-Win32来运行Linux 图形界面程序!
1.修改redhat9.0的服务器ssh相关配置,使其支持X11
a)修改/etc/ssh/sshd_config
●(Line78):
X11Forwardingyes#打开X11转发
●(Line79):
X11DisplayOffset10#打开DisplayOffset
2.重启sshd,以便刚才的修改生效
/etc/init.d/sshdrestart
3.在X-Win32配置一个指向服务器的会话,参见上一节
4.配置Putty一个会话,并支持X11转发(版本为0.60)
5.启动X-Win32并连接上线
6.用Putty登录服务器
a)在Putty下输入echo$DISPLAY查看DISPLAY变量,应该显示为:
10.0
7.运行任意图形界面程序(如kwrite),X-Win32将提示允许连接,选择始终执行这一操作,点击确定.
这时在已经联接的X-Win32出现执行程序
8.aa
在MagicUnixC++调试图形界面程序
以下以QT为例.来演示如何调试一个QT应用程序
1.在MagicUnixC++创建一个QT的C++项目.
2.加入QT源代码
加入代码如下
3.修改编译程序的Makefile
●在主菜单的project->projectSettigs要采用自定义的Makefile命令
●qmake-project;qmake;make
4.设置运行的X-Windows环境变量
●设置环境变量DISPLAY,值为MagicUnixC++所在机器IP:
0.0,
●如本例,机器IP为192.168.0.1则值为192.168.0.1:
0.0
5.按一般的步骤编译程序
6.运行X-Win32连接到Linux主机
7.按一般单步调试的步骤调试
●此时在屏幕上会出现出现联接提示,确认后开始调试
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在Windows 下使用和调试Linux 图形界面程序 Windows 使用 调试 Linux 图形界面 程序