X-Window的架构
在Unix-Like包括linux等作业底下的图形界面通常被我们简称为X-Window啰,这个X-Window怎么来的?他目前的版本是怎样?还有,X-Window主要是主从架构的(Server, Client),那么这些主从架构是怎么回事呢?我们底下就来谈一谈这些东西吧!
·XFree86 的历史演进与版本
基本上,X-Window的核心就是 XFree86 这个玩意儿啰,他怎么来的呢?在早期的Unix世界中,并没有所谓的图形界面,所以在一些图形展示上面有点困扰就是了,后来经过麻省理工学院(MIT)的发展,终于在 1986 年开发出在 Unix 系统上面的 X Window System!并且组织了 XFree86 这个计画组织来发展这个图形介面!从此之后,人们才可以在 Unix 作业系统中看到这个美美的图形化介面(Graphical User Interface, 简称GUI)呢!那么这个 XFree86 组织继续发展这个介面,到了 1987 年释出第一版的X11版本,而后陆续发展出更新的版本,在第二版释出被称为X11R2,目前的版本则是第六次释出,称为X11R6啰!而目前的X11R6版本中,主要依照新旧又被分为较旧的第三版(version 3),以及较新的第四版(version 4)。(注: XFree86 的命名基本上为 X 系统 + Free 软体 + x86 系统架构 的简写啰!)
那么在 Linux 针对 XFree86 的使用上面情况是怎样呢,呵呵,在 1994 年第一个 Linux kernel 1.0 的版本当中,就已经支援 XFree86 啰!至于目前在 2002 年之后出版的 Linux distribution 通常都已经换为了version 4了,例如 Mandrake 9.0 及Red Hat 7.2以后版本,这一版支援的显示卡驱动程式较多,而且也较新啦!不过,在 2001 年以前的Linux版本则主要还是以 version 3 为主呢!
·X server, X client 与 Window manager
大概了解一下X-Window的历史与版本之后,接着下来我们要来谈一谈,那么什么是X server, X client这些个东西,怎么一个X-Window有这么多的希奇的介面,什么KDE啦还有GNOME啦等等的!
oX server:
基本上,XFree86的主要功能是什么呢?嗯!那就是治理整个Linux主机上面的关于显示的硬体配备啦!例如显示卡、萤幕解析度、键盘形式、滑鼠形式等等,咦!那我们在安装Linux的时候,不是都已经可以将这些资讯设定好了吗?这里必须说明的是,X-Window在Linux里面只是『一个软体』而已,所以,你在安装Linux的时候,选择的键盘也好,滑鼠形式也好,都是给Linux这个系统用的,跟X-Window可没有绝对的关系呢!所以这也就说明啦,你的X-Window要在Linux上面启动时,还需要载入X-Window需要的驱动程式才行!所以呢,当你以run-level 3进入Linux之后,基本上,X-Window是完全不存在你的系统的记忆体中,而当你输入startx以启动X-Window系统时,这个时候Linux才会开始读入X-Window的驱动程式(大概就是显示卡驱动程式、萤幕解析度调整等等的设定值)。所以,请注重啦,这个X server就是用来治理Linux主要关于显示的一些硬体与驱动程式啰!
oX client:
大略知道了X server之后,再来我们要看一看,那么什么是X client呢?又没有网路连线,怎么会有client这个名词?其实,X server主要的功能只是在治理显示的驱动程式与硬体,但是在整个萤幕前面显示给使用者,并且经由使用者移动滑鼠也好、键盘也好,来启动一些『事件』的动作,以回应给X server,并进一步处理一些资讯,则是需要一些X的软体来进行,这些关于X的软体,我们就可以称为是X client啰!反正,只要是关于一些视窗的行为、显示在萤幕的行为等等,使用者都是透过X client来告诉X server的啦!那也就是说,『当X server死掉的时候,X client根本就无法动作!』怎么说呢?因为治理硬体的X server都不动了,利用这个server来进行显示与事件触发的X client要怎么活下去?了解了吗?
oWindow manager:
那么什么又是『视窗治理员?』说穿了,其实视窗治理员你也可以简单的将他看做是一个X client啦!这个Window manager主要是做为你跟整个X Window系统的介面,所以,所有的X软体(就是上面讲到的X client)都是他管的!目前最热门的两个视窗治理员就是KDE与GNOME啰!
假如我们以KDE来作说明,那么您应该不难了解,主要的硬体驱动还是得要X Window的核心,也就是XFree86这个咚咚没有问题的驱动之后,然后我们才能进入KDE这个视窗治理员的介面之下进行美美的图形介面环境工作!万一哪一天您的X-Window死掉了,你必须要知道的是,你是怎么让他死掉的?
o假如之前还可以进入X-Window,也就是KDE,不过经过当机之后(这里指的是并没有重新设定XFree86喔!),导致X-Window无法进入,那么应该可能就来自于KDE的问题了,这个情况之下,通常删除自己家目录之下的.kde这个隐藏目录后,就可以恢复到最原始的状态。
o但是假如一安装完Linux就一直无法进入X-Window的话,那么大概就是XFree86这个核心没有设定好的问题啦!所以我们就必须要设定XFree86呢!
·XFree86 的主要设定档案
好啦,既然假如曾经进入过X-Window,则可能的问题就会变成是window manager的问题,而不是XFree86的问题,那么情况应该还轻易解决,所以我们不谈这个。
我们底下要谈的是当你的X-Window一直无法正确且成功的启动时,那么应该就是硬体设定的问题啦!例如解析度调错啦、滑鼠格式不对啦、显示卡的驱动程式不对等等的问题!果真是这些问题的时候,我要如何来重新设定我的XFree86这个核心呢?
刚刚前面提过,我们的XFree86目前有两个版本,分别是version 3与version 4,那么怎么知道我的Linux使用的是哪一个XFree86的版本呢?嗯!就使用:
X –version
来检查吧!好了,那么不同版本的设定档在哪里?这两个版本的设定档分别是:
oversion 3:/etc/X11/XF86Config
oversion 4:/etc/X11/XF86Config-4
请非凡留意他的大小写呢!上面的可是设定档喔!所以呢,当我们说『我的X-Window一直无法驱动,我要去修改我的设定档!』通常指的就是这个档案啦!目前我们在Linux里面大多是使用version 4了,因此底下我们将以/etc/X11/XF86Config-4这个档案来说明呢!请注重,假如您的X-Window本来可以正确无误的启动时,表示这个档案内容是对的,这个时候,『请务必将您的这个设定档案备份一个!』因为未来假如设定错误导致无法进入X-Window时,只要将原本正确的备份档案覆盖回来,你的X-Window就救回来了!所以这个档案真的很重要,请记得一定要备份喔!
cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.bak
底下我们就来谈一谈,怎么样设定我们的XFree86呢?一般而言,假如你要重新设定XFree86的一些细项设定时,最好的步骤是:
3.假如已经能够进入X-Window了,那么就直接以Window manager提供的小工具来设定你的XFree86,例如KDE提供的control center就可以进行这个工作;
4.假如没有办法进入X-Window了,那么就使用各家distribution提供的小工具来设定我们的XFree86设定档;
5.假如各家提供的工具还没有办法设定好XFree86的话,那么就必须要使用到XFree86提供的小软体工具,在指令列模式下面执行的xf86cfg或xf86config啰!
6.假如调整的结果您还是不太满足,那么就直接手动的来微调/etc/X11/XF86Config-4这个档案吧!
使用设定工具:XFdrake, Xconfigurator:
好了,假如你的X-Window本来就没有问题,那么底下的资料就可以不要看啦!但是,假如你的X-Window一直怪怪的,那么底下的设定方式就得给他瞧一瞧!目前使用上面较为方便的,还是以各家distribution提供的小工具来设定我们的/etc/X11/XF86Config-4这个档案较为方便,而设定的内容不外乎:
1.键盘的格式;
2.滑鼠的格式;
3.萤幕的格式,包含解析度、水平、垂直更新频率等等;
4.显示卡的主要驱动程式,也就是所谓的X server最主要的内容啦!
5.显示的解析度:
上面那个显示的解析度还得要了解一下,我们在设定萤幕的解析度时,指的是『我的萤幕能够负荷的最高解析度』,而在第五项的显示的解析度,是我们进入X-Window并且使用Window manager来操作主机之后,那个桌面的支援的解析度啦!因此,第三项萤幕的解析度当然就可以设定的比较高啰!
目前最流行的两套Linux:Mandrake与Red Hat均提供不错的软体来设定XF86Config-4,那就是:
·MandrakeXFdake
·Red HatXconfigurator
这两个套件设定的项目几乎都是一模一样啦。好了,请记得备份你的XF86Config-4这个档案吧。
·Mandrake : XFdrake
直接在指令列模式中输入XFdrake开始使用 XFdrake 的 X 设定啰!
o 侦测系统的硬体设定:
o进入XFdrake之后的第一个动作即是在侦测你的主机上面的硬体啦!假如捉到硬体之后,会将你的Linux主机上面的硬体给他显示在画面上,如同上图所示,而且有几个设定值:
§Graphic Card: 这个显示目前你的显示卡晶片;
§Monitor: 显示目前你的萤幕厂牌或者选择自订(Custom)
§Resolution:选择你的X-Window显示的解析度
§Test: 立即测试你的硬体设定
§Options: 让你选择是否开机的时候进入X-Window
§Quit: 离开XFdrake这个程式!
请注重,在选择的时候,必须要使用按键,使游标移动到OK之后,才可以进入各细项去选择呢!
o显示卡晶片组的选择:Graphic Card
在按下了Graphic Card之后,会出现可以选择晶片组的画面来,如下图所示,在下图中,基本上会有三个栏位,第一个Vendor是说厂商,第二个SIS则是发展的厂商名称,例如你的显示卡是Nvidia的,那么就选择Nvidia吧!第三个则是这个厂商的支援晶片组!嗯!选择你的显示卡吧!我这里是使用SIS的6326啦!