Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1570105
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: LINUX

2013-01-18 19:04:58


1. X Window System简介 
甚麽是X Window System? 
X Window System是一套为UNIX或是UNIX like的作业系统提供GUI(Graphical User Interface)图形操作介面的程式,X Window System独具的网路通透性(Network Transparency),使它成为UNIX平台上的工业标准,现在UNIX的工作站或大型主机几乎都执行着X Window System,而且只要根据X标准所发展的应用程式,均可以在不同的环境下执行。 
X Window System的发展史 
早在1970年代,众家电脑厂商对於更友善的人机界面都还在摸索时候,Xerox(全录)的Palo Alto Research Center开始对图形化使用者界面(GUI),做了一系列的研究,其研究成果对後来的X Window、麦金塔作业系统、甚至Microsoft Windows造成了相当深远的影响。1984年MIT(美国麻省理工学院)与DEC(迪吉多电脑)共同合作在UNIX系统上发展一个分散式的视窗环境,这便是X Window。1986年MIT开始发行X Window之後,X Window很快就成为UNIX系统的标准视窗环境。同时X协会成立,以订定业界标准,并继续发展X Window。另外也有许多厂商根据MIT的原型开发出适合自家UNIX的视窗环境,例如Sun Microsystems和AT&T共同推出的OpenLook,OSF(开放软体基金会)在IBM的主导之下也推出Motif。随着自由软体的盛行,一些爱好者成立了XFree86,XFree86是一个非营利的组织,起初专注在Intel x86相容系统上的仿UNIX环境中开发X Window,但是这套免费、功能完整的X Window很快便侵入了商用UNIX系统之中,并且被移植到许多种不同的硬体平台。 
X Window System的别名 
X Window System (正式的名称)  
X Window (注意Window没有加”s”)  
X11 (这是指X Window System的第11版)  
X11R6 (这是指X Window System的第11版的第6释出版)  
X (最简单的称呼,也是X Window System的代表符号)  
2. 基本元素 
X Window System本身是一个非常杂的图形化作业环境,我们大致可以将它分成三个部分来讲,分别是X Server、X Client、X Protocol;X Server主要是处理输入输出的讯息,X Client是执行大部份应用程式的运算功能,而X Protocol则是建立X Server和X Client的沟通管道,以下我们详加说明: 
(1)、 X Server 
X Server主要是处理输入输出的讯息,并且维护相关资源。它接受输入设备(如键盘、滑鼠)的讯息,将这些讯息交给X Client处理,而X Client所传来的讯息,就由X Server负责输出在输出设备(如显示卡、萤幕)上。 
X Serve传给X Client的讯息称做:Events(事件) 
X Client传给X Serve的讯息称做:Request(要求) 
Events(事件)主要包括键盘的输入,滑鼠的位置、移动及按下等动作,而Request(要求)主要是X Client要求X Serve对显示卡及萤幕的输出作调整 
(2)、 X Client 
X Client主要负责应用程式的运算处理部分,它将X Server所传来的Events作运算处理後,在将结果以Request的方式去要求X Server显示在萤幕上的图形视窗。在X Window System的结构中,X Server和X Client所负责的部分是分开的,所以X Client和硬体是无关的,只和程式运算有关,这样有一个好处,例如更换显示卡时,X Client的部份并不需要从新编写,还有因为X Server和X Client是分开的,所以可以将两者分别安装在不同电脑上,这样我们就可以利用本地端的萤幕、键盘和滑鼠来操作远端的X Client程式 
(3)、 X Protocol 
X Protocol(X通讯协定)主要就是负责建立X Server和X Client的沟通管道,就如同在人类社会中需要共通的语言来互相沟通和传达讯息一样。 
(4)、 X Library、 X Toolkit和Widget 
X Client主要就是应用程式,而开发程式大多都会提供所谓的函式库,以方便开发人员开发,在X则有提供X Library(X Lib),X Library主要提供X Protocol的存取能力,由於X Server只是跟据X Client所给的Request(要求)去显示画面,所以所有的使用者界面都交由X Client负责,这就等於是每写一支应用程式就得再开发一个界面,所以有X Toolkit和Widget的产生,让开发者可以由Toolkit和Widget取用按钮、轴或是整体视窗结构,这样让开发者更易於开发各种程式。 
3. 基本运作原理 
我们上面提过了X的主要基本元素,也知道X Window System主要分成X Server、X Client、X Protocol,而X Server和X Client主要透过X Protocol来沟通协调,下图我们将这些元素的关画出,让大家更了解彼此的关 
图1 
4. XFree86 简介暨设定 
(1)、 简介 
XFree86是一个非营利的组织,他们专注在Intel x86相容系统上的仿UNIX环境中开发X Window,他们所开发出来的程式和他们的组织同名为XFree86,这是一套X Server,单从它的字面看来,X代表着X window system,而Free就是免费!而86指的是专为Intel x86相容的平台所设计的。 
既然是X Server,当然就和硬体息息相关,除了滑鼠、键盘外,最重要的当然就是显示卡啦!现在由於Linux越来越流行,加上越来越多的显示晶片设计厂商乐意将晶片组资料公开,这使得XFree86得以快速的开发出支援该公司显示晶片的X Server,让大家非常方便使用。 
(2)、 XF86Config设定档 
前面提到XFree86是Xserver,而XF86Config就是它的设定档,内容当然是滑鼠、键盘、萤幕、显示卡的相关设定,标准的XFree86设定档是放在 /etc/XF86Config ,而Red Hat的XFree86设定档是放在/etc/X11/XF86Config。XF86Config是一个蛮杂的设定档,通常我们不会完全手动去设定它,而是用其他的工具,例如下面介绍的Setup,就是一个蛮好用的设定工具。 
在设定之前,我们需要先收集一些相关的资讯,如滑鼠是Serial或是PS/2的,键盘是101键还是104键,还有最重要的显示卡是采用甚麽晶片,卡上的RAM有几MB最好都事先知道。 
(3)、 Setup设定工具 
Setup是Red Hat上提供的一个好用的设定工具,使用方法是:只要在提示符号後键入 ”setup” 即可,键入後就会出现选单式的设定界面,可以设定蛮多的东西,在这里我们提出三个和XF86Config设定档相关的选项,分别是Keyboard configuration、Mouse configuration、X configuration,
  
测试的时候,测试程式会要你回答三个问题,第一个问题是问你你的画面是否有正常的显示,并且以倒数计时来等你回答,如果你有正常的看到这个画面,你就按下YES 即可,否则只要等它倒数自动结束後,它就会回到最初的画面,这个步骤过後,第二个问题是问你是否要以X Window System为预设登入Linux的系统,选YES的话,每次登入就会以图形界面的方式登入,否则则以文字方式登入,最後一个画面是设定确认的讯息,并不需要选择,只要按下OK即可 
(4)、 .xinitrc档简介 
xinitrc是X视窗的启动档,在我们键入Start X要启动Xwindow System时,都会先去执行这个档案,而搜寻这个档案的顺序为,先找你的HOME目录下有无 .xinitrc 这个档,如果没有就去读取/etc/X11/xinit/xinitrc。 
这个启动档的内容就是一些启动X时所要执行X clients的shell script,里面定义了一些指令和Shell script,让X启动时可以启动一些必备的应用程式,例如要选用哪一种Window Manager,就可以在这里设定。 
(5)、 .Xdefaults档简介 
Xdefaults,X视窗的资源档,里面设定了一些和字型、颜色相关的选项,一般这个档案都放在使用者家目录下,名称为 .Xdefaults (有些版本为 .Xresources),除了使用者自己的资源档外,有些应用程式都会产生自己的资源档并放置在 /usr/X11R6/lib/X11/app-defaults/ 下。并且大多以程式名称为命名,如xclock时钟程式的资源档就是Xclock。
阅读(832) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~