北京快三开奖

  • <tr id="U9YkSO"><strong id="U9YkSO"></strong><small id="U9YkSO"></small><button id="U9YkSO"></button><li id="U9YkSO"><noscript id="U9YkSO"><big id="U9YkSO"></big><dt id="U9YkSO"></dt></noscript></li></tr><ol id="U9YkSO"><option id="U9YkSO"><table id="U9YkSO"><blockquote id="U9YkSO"><tbody id="U9YkSO"></tbody></blockquote></table></option></ol><u id="U9YkSO"></u><kbd id="U9YkSO"><kbd id="U9YkSO"></kbd></kbd>

    <code id="U9YkSO"><strong id="U9YkSO"></strong></code>

    <fieldset id="U9YkSO"></fieldset>
          <span id="U9YkSO"></span>

              <ins id="U9YkSO"></ins>
              <acronym id="U9YkSO"><em id="U9YkSO"></em><td id="U9YkSO"><div id="U9YkSO"></div></td></acronym><address id="U9YkSO"><big id="U9YkSO"><big id="U9YkSO"></big><legend id="U9YkSO"></legend></big></address>

              <i id="U9YkSO"><div id="U9YkSO"><ins id="U9YkSO"></ins></div></i>
              <i id="U9YkSO"></i>
            1. <dl id="U9YkSO"></dl>
              1. <blockquote id="U9YkSO"><q id="U9YkSO"><noscript id="U9YkSO"></noscript><dt id="U9YkSO"></dt></q></blockquote><noframes id="U9YkSO"><i id="U9YkSO"></i>

                鸟哥的 Linux 私房菜
                Linux 根底篇 | Linux 效劳器篇 | Linux 企业使用篇 | 平安办理
                     
                 
                第二十四章、 X Window 设定引见
                近来更新日期:2009/08/07
                在 Linux 上头的图形介面我们称之为 X Window System,简称为 X 或 X11 啰! 为何称之为零碎呢?这是由于 X 视窗零碎又分为 X server 与 X client ,既然是 Server/Client (主从架构) 这就表现实在 X 视窗零碎是可以跨网络且跨平台的!X 视窗零碎关于 Linux 来说仅是一个软件, 只是这个软件日趋紧张喔!由于 Linux 能否可以在桌上型电脑下面盛行,与这个 X 视窗零碎有关啦! 幸亏,现在的 X 视窗零碎整合到 Linux 曾经十分良好了,并且也可以具有 3D 减速的功用, 只是,我们照旧得要理解一下 X 视窗零碎才好,如许假如出题目,我们才有方法处置啊!


                大标题的图示什么是 X Window System

                Unix Like 作业零碎不是只能停止效劳器的搭建罢了,在美编、排版、制图、多媒体使用上也是有其需求的。 这些需求都需求用到图形介面 (Graphical User Interface, GUI) 的操纵的, 以是厥后才有所谓的 X Window System 这玩意儿。那么为啥图形视窗介面要称为 X 呢?由于就英笔墨母来看 X 是在 W(indow) 前面,因而,人们就戏称这一版的视窗介面为 X 啰 (有下一版的新视窗之意)!

                现实上, X Window System 是个十分大的架构,他还用到网络功用呢!也便是说,实在 X 视窗零碎是可以跨网络与跨作业零碎平台的! 而鸟哥这个根底篇是还没有谈到效劳器与网络主从式架构,因而 X 在这里并不容易了解的。不外,不要紧! 我们照旧谈谈 X 怎样来的,然后再来谈谈这 X 视窗零碎的元件有哪些,渐渐来,应该照旧可以了解 X 的啦!


                小标题的图示X Window 的开展简史

                X Window 零碎最早是由 MIT (Massachusetts Institute of Technology, 麻省理工学院) 在 1984 年开展出来的, 现在 X 便是在 Unix 的 System V 这个作业零碎版本下面开辟出来的。在开辟 X 时,开辟者就盼望这个视窗介面不要与硬体有激烈的相干性,这是由于假如与硬体的相干性高,那就即是是一个作业零碎了, 云云一来的使用性会比拟范围。因而 X 在现在便是以使用顺序的观点来开辟的,而非以作业零碎来开辟。

                由于这个 X 盼望可以透过网络停止图形介面的存取,因而开展出很多的 X 通讯协议,这些网络架构十分的风趣, 以是吸引了许多厂商参加研发,因而 X 的功用不断继续在增强!不断到 1987 年变动 X 版本到 X11 ,这一版 X 获得了分明的提高, 厥后的视窗介面改进都是架构于此一版本,因而厥后 X 视窗也被称为 X11 。这个版本继续在提高当中,到了 1994 年公布了新版的 X11R6 ,厥后的架构都是相沿此一释出书本,以是厥后的版本界说就酿成了相似 1995 年的 X11R6.3 之类的款式。 (注1)

                1992 年 XFree86 (http://www.xfree86.org/) 方案顺遂睁开, 该方案继续在维护 X11R6 的功用性,包罗对新硬体的援助以及更多新增的功用等等。现在命名为 XFree86 实在是依据‘ X + Free software + x86 硬体 ’而来的呢。晚期 Linux 所运用的 X Window 的次要中心都是由 XFree86 这个方案所提供的,因而,我们经常将 X 零碎与 XFree86 挂上等号的说。

                不外由于一些受权的题目招致 XFree86 无法持续提供相似 GPL 的自在软件,厥后 Xorg 基金会就接办 X11R6 的维护! Xorg (http://www.x.org/) 应用现在 MIT 公布的相似自在软件的受权, 将 X11R6 拿来停止维护,而且在 2004 年公布了 X11R6.8 版本,更在 2005 年后宣布了 X11R7.x 版。 如今我们 CentOS 5.x 运用的 X 便是 Xorg 提供的 X11R7 喔! 而这个 X11R6/X11R7 的版本是自在软件,因而许多构造都应用这个架构去设计他们的图形介面喔!包罗 Mac OS X v10.3 也曾应用过这个架构来设计他们的视窗呢!我们的 CentOS 也是应用 Xorg 提供的 X11 啦!

                从下面的阐明,我们可以晓得的是:

                • 在 Unix Like 下面的图形运用者介面 (GUI) 被称为 X 或 X11;
                • X11 是一个‘软件’而不是一个作业零碎;
                • X11 是应用网络架构来停止图形介面的实行与绘制;
                • 较闻名的 X 版本为 X11R6 这一版,现在大局部的 X 都是这一版演化出来的 (包罗 X11R7);
                • 如今大局部的 distribution 运用的 X 都是由 Xorg 基金会所提供的 X11 软件;
                • X11 运用的是 MIT 受权,为相似 GPL 的自在软件受权方法。

                小标题的图示次要元件: X Server/X Client/Window Manager/Display Manager

                好像后面谈到的,X Window system 是个应用网络架构的图形运用者介面软件,那究竟这个架构可以分红几多个元件呢? 根本上是分红 X Server 与 X Client 两个元件罢了喔!此中 X Server 在办理硬体,而 X Client 则是使用顺序。 在运作上,X Client 使用顺序会将所想要出现的画面见告 X Server ,终极由 X server 来将后果透过他所办理的硬体绘制出来! 全体的架构我们约莫可以运用如下的图示来作个引见:(注2)

                X Window System 的架构
                图 1.2.1、 X Window System 的架构 (注2)

                下面的图示十分风趣喔!我们在用户端想要获得来自效劳器的图形材料时,我们用户端运用确当然是用户真个硬体设置装备摆设啊, 以是,X Server 的重点便是在办理用户真个硬体,包罗承受键盘/滑鼠等设置装备摆设的输出资讯, 而且将图形绘制到荧幕上 (请留意上图的一切元件之间的箭头指示)。但是究竟要绘制个啥工具呢? 画图总是需求一些数据才干绘制吧?此时 X Client (便是 X 使用顺序) 就很紧张啦!他次要提供的便是见告 X Server 要绘制啥工具。那照如许的想法来考虑,我们是想要获得远端效劳器的画图数据来我们的电脑下面表现嘛! 以是啰,远端效劳器提供的是 X client 软件啊!

                底下就让我们来更深化的聊一聊这两个元件吧!


                • X Server:硬体办理、荧幕绘制与提供字型功用:

                既然 X Window System 是要表现图形介面,因而天经地义的需求一个元件来办理我主机下面的一切硬体设置装备摆设才行! 这个义务便是 X Server 所担任的。而我们在 X 开展简史当中提到的 XFree86 方案及 Xorg 基金会,次要提供的便是这个 X Server 啦!那么 X Server 办理的设置装备摆设次要有哪些呢?实在与输出/输入有关喔!包罗键盘、滑鼠、手写板、表现器 (monitor) 、荧幕剖析度与颜色深度、表现卡 (包括驱动顺序) 与表现的字型等等,都是 X Server 办理的。

                咦!表现卡、荧幕以及键盘滑鼠的设定,不是在开机的时分 Linux 零碎以 /etc/sysconfig 目次下的 keyboard/mouse 等设定档就设好了吗?为何 X Server 还要重新设定啊?这是由于 X Window 在 Linux 外面仅能算是‘一套很棒的软件’, 以是 X Window 有本人的设定档,你必需要针对他的设定档设定妥当才行。也便是说, Linux 的设定与 X Server 的设定纷歧定要相反的!因而,你在 Linux 的 run level 3 想要玩图形介面时,就得要载入 X Window 需求的驱动顺序才行~总之, X Server 的次要功用便是在办理‘主机’下面的表现硬体与驱动顺序。

                既然 X Window System 因此透过网络获得图形介面的一个架构,那么用户端是怎样获得效劳器端提供的图形画面呢? 由于效劳器与用户真个硬体不行能完全相反,因而我们用户端固然不行能运用到效劳器真个硬体表现功用! 举例来说,你的用户端电脑并没有 3D 影像减速功用,那么你的画面能够出现出效劳器端提供的 3D 减速吗? 固然不行能吧!以是啰 X Server 的目标在办理用户真个硬体设置装备摆设!也便是说:‘每部用户端主机都需求装置 X Server,而效劳器端则是提供 X Client 软件, 以提供用户端画图所需求的数据材料’。

                X Server / X Client 的互动并非仅有 client --> server,两者实在有互动的!从上图 1.2.1 我们也可以发明, X Server 另有一个紧张的任务,那便是未来自输出安装 (如键盘、滑鼠等) 的举措见告 X Client, 你知道, X Server 既然是办理这些周边硬体,以是,周边硬体的举措固然是由 X Server 来办理的, 但是 X Server 自身并不晓得周边设置装备摆设这些举措会形成什么表现上的结果, 因而 X Server 会将周边设置装备摆设的这些举措举动见告 X Client ,让 X Client 去伤头脑。


                • X Client:担任 X Server 要求的‘事情’之处置:

                后面提到的 X Server 次要是办理表现介面与在荧幕上画图,同时将输出安装的举动见告 X Client, 此时 X Client 就会根据这个输出安装的举动来开端处置,最初 X Client 会失掉‘ 嗯!这个输出安装的举动会发生某个图示’,然后将这个图示的表现材料回传给 X Server , X server 再依据 X Client 传来的画图材料将他描图在本人的荧幕上,来失掉表现的后果。

                也便是说, X Client 最紧张的任务便是处置来自 X Server 的举措,将该举措处置成为画图材料, 再将这些画图材料传回给 X Server 啰!由于 X Client 的目标在发生画图的数据,因而我们也称谓 X Client 为 X Application (X 使用顺序)。并且,每个 X Client 并不晓得其他 X Client 的存在, 意思是说,假如有两个以上的 X client 同时存在时,两者并不晓得对方究竟传了什么数据给 X Server , 因而 X Client 的画图经常会相互堆叠而发生困扰喔!

                举个例子来说,当我们在 X Window 的画面中,将滑鼠向右挪动,那他是怎样见告 X Server 与 X Client 的呢? 起首, X server 会探测到滑鼠的挪动,但是他不晓得应该怎样画图啊!此时,他将滑鼠的这个举措见告 X Client, X Client 就会去运算,后果失掉,嘿嘿!实在要将滑鼠目标向右挪动几个位素,然后将这个后果见告 X server , 接上去,您就会看到 X Server 将滑鼠目标向右挪动啰~

                如许做有什么益处啊?最大的益处是, X Client 不需求晓得 X Server 的硬体装备与作业零碎!由于 X Client 单纯便是在处置画图的材料罢了,自身是不画图的。以是,在用户真个 X Server 用的是什么硬体?用的是哪套作业零碎?效劳器真个 X Client 基本不需求晓得~相称的先辈与良好~对吧! ^_^ 整个运作流程可以参考下图:用户端用的是什么作业零碎在 Linux 主机端是不在乎的!

                X Server 用户真个作业零碎与 X client 的相同表示
                图 1.2.2、 X Server 用户真个作业零碎与 X client 的相同表示


                • X Window Manager:特别的 X Client ,担任办理一切的 X client 软件

                方才后面提到,X Client 的次要任务是未来自 X Server 的材料处置成为画图数据,再回传给 X server 罢了, 以是 X client 自身是不晓得他在 X Server 当中的地位、巨细以及其他相干资讯的。这也是下面我们谈到的, X client 相互不晓得对方在荧幕的哪个地位啊!为了克制这个题目,因而就有 Window Manager (WM, 视窗办理员) 的发生了。 视窗办理员也是 X client ,只是他次要在担任全部 X client 的办理,还包罗提供某些特别的功用,比方:

                • 提供很多的控制元素,包罗任务列、配景桌面的设定等等;
                • 办理假造桌面 (virtual desktop);
                • 提供视窗控制参数,这包罗视窗的巨细、视窗的堆叠表现、视窗的挪动、视窗的最小化等等。

                我们经常听到的 KDE, GNOME, XFCE 另有阳春到爆的 twm 等等,都是一些视窗办理员的专案方案啦! 这些专案方案中,每种视窗办理员所用以开辟的表现引擎都不太相反,所著重的偏向也纷歧样, 因而我们才会说,在 Linux 底下,每套 Window Manager 都是共同存在的,不是换了桌面与表现结果罢了, 而是连表现的引擎都不会一样喔!底下是这些罕见的视窗办理员全名与保持:

                由于 Linux 越来越朝向 Desktop 桌上型电脑运用偏向走,因而视窗办理员的脚色会越来越紧张! 现在我们 CentOS 预设提供的有 GNOME 与 KDE ,这两个视窗办理员下面另有提供十分多的 X client 软件, 包罗办公室消费力软件 (Open Office) 以及常用的网络功用 (firefox 阅读器、 Thunderbird 收发函件软件) 等。 如今运用者想要打仗 Linux 实在真的越来越复杂了,假如不要搭建效劳器,那么 Linux 桌面的运用与 Windows 零碎可以说是如出一辙的!不需求学习也可以入门哩! ^_^

                那么你晓得 X Server / X client / window manager 的干系了吗?我们举 CentOS 预设的 GNOME 为例好了, 由于我们要在本机端启动 X Window system ,因而,在我们的 CentOS 主机下面必需要有 Xorg 的 X server 中心, 如许才干够提供荧幕的绘制啊~然后为了让视窗办理更方便,于是就加装了 GNOME 这个方案的 window manager , 然后为了让本人的运用更方便,于是就在 GNOME 下面加上更多的视窗使用软件,包罗输出法等等的, 最初就建构出我们的 X Window System 啰~ ^_^!以是你也会晓得,X server/X client/Window Manager 是同时存在于我们一台 Linux 主机上头的啦!


                • Display Manager:提供登入需求

                谈完了上述的材料后,我们得要理解一下,那么我怎样获得 X Window 的控制?在本机的笔墨介面底下你可以输出 startx 来启动 X 零碎,此时由于你曾经登入零碎了,因而不需求重新登入即可获得 X 情况。但假如是 runlevel 5 的情况呢?你会发明在 tty7 的中央有个可以让你运用图形介面登入 (输出帐号暗码) 的咚咚,谁人是啥? 是 X Server/X client 照旧什么的?实在那是个 Display Manager 啦!这个 display manager 最大的义务便是提供登入的情况, 而且载入运用者选择的 Window Manager 与语系等材料喔!

                简直一切的大型视窗办理员专案方案都市提供 display manager 的,在 CentOS 下面我们次要应用的是 GNOME 的 GNOME Display Manager (gdm) 这支顺序来提供 tty7 的图形介面登入喔!至于登入后获得的视窗办理员, 则可以在 gdm 下面停止选择的!我们在第五章引见的登入情况, 谁人情况实在便是 gdm 提供的啦!再归去参考看看图示吧! ^_^!以是说,并非 gdm 只能提供 GNOME 的登入罢了喔!


                小标题的图示X Window 的启动流程

                如今我们晓得要启动 X Window System 时,必需要先启动办理硬体与画图的 X Server ,然后才载入 X Client 。 根本上,现在都是运用 Window Manager 来办理视窗介面作风的。那么怎样获得如许的视窗零碎呢? 你可以透过登入本机的笔墨介面后,输出 startx 来启动 X 视窗;也可以透过 display manager (假如有启动 runlevel 5) 提供的登入画面,输出你的帐号暗码来登入与获得 X 视窗的!

                题目是,你的 X server 设定档为何?怎样修正剖析度与表现器?你能不克不及本人设定预设启动的视窗办理员? 怎样设定预设的运用者情况 (与 X client 有关) 等等的,这些材料都需求透过理解 X 的启动流程才干得知! 以是,底下我们就来谈谈怎样启动 X 的流程吧! ^_^


                • 在笔墨介面启动 X :透过 startx 指令

                我们都晓得 Linux 是个多人多工的作业零碎,以是啦,X 视窗也是可以依据差别的运用者而有差别的设定! 这也便是说,每个用户启动 X 时, X server 的剖析度、启动 X client 的相干软件及 Window Manager 的选择能够都纷歧样! 但是,假如你是初次登入 X 呢?也便是说,你本人还没有树立本人的专属 X 画面时,零碎又是从那边给你这个 X 预设画面呢?而假如你曾经设定好相干的资讯,这些资讯又是寄存于那边呢?

                现实上,当你在纯笔墨介面且并没有启动 X 视窗的状况上去输出 startx 时,这个 startx 的作用便是在帮你设定好上头提到的这些举措啰! startx 实在是一个 shell script ,他是一个比拟亲和的顺序,会自动的帮助运用者树立起他们的 X 所需求援用的设定档罢了。你可以自行研讨一下 startx 这个 script 的内容,鸟哥在这里仅就 startx 的作用作个引见。

                startx 最紧张的义务便是找出运用者或许是零碎预设的 X server 与 X client 的设定档,而运用者也可以运用 startx 外接参数来代替设定档的内容。这个意思是说:startx 可以间接启动,也可以外接参数,比方底下款式的启动方法:

                [root@www ~]# startx [X client 参数] -- [X server 参数]
                
                # 典范:以颜色深度为 16 bit 启动 X
                [root@www ~]# startx  --  -depth 16
                

                startx 前面接的参数以两个减号‘--’离隔,后面的是 X Client 的设定,前面的是 X Server 的设定。 下面的典范是让 X server 以颜色深度 16 bit 色 (亦即每一像素占用 16 bit ,也便是 65536 色) 表现, 由于颜色深度是与 X Server 有关的,以是参数固然是写在 -- 前面啰,于是就成了下面的容貌!

                你会发明,鸟哥下面谈到的 startx 都是提到怎样找出 X server / X client 的设定值罢了! 没错,现实上启动 X 的是 xinit 这支顺序, startx 仅是在帮助找出设定值罢了!那么 startx 找到的设定值可用次序为何呢?根本上是如许的:

                • X server 的参数方面:
                  1. 运用 startx 前面接的参数;
                  2. 若无参数,则找寻运用者家目次的文件,亦即 ~/.xserverrc
                  3. 若无上述两者,则以 /etc/X11/xinit/xserverrc
                  4. 若无上述三者,则单纯实行 /usr/bin/X (此即 X server 实行档)

                • X client 的参数方面:
                  1. 运用 startx 前面接的参数;
                  2. 若无参数,则找寻运用者家目次的文件,亦即 ~/.xinitrc
                  3. 若无上述两者,则以 /etc/X11/xinit/xinitrc
                  4. 若无上述三者,则单纯实行 xterm (此为 X 底下的终端机软件)

                依据上述的流程找到启动 X 时所需求的 X server / X client 的参数,接上去 startx 会去呼唤 xinit 这支顺序来启动我们所需求的 X 视窗零碎全体喔!接上去固然便是要谈谈 xinit 啰~


                • 由 startx 呼唤实行的 xinit

                现实上,当 startx 找到需求的设定值后,就呼唤 xinit 实践启动 X 的。他的语法是:

                [root@www ~]# xinit [client option] -- [server or display option]
                

                谁人 client option 与 server option 怎样下达呢?实在那两个咚咚便是由方才 startx 去找出来的啦! 在我们透过 startx 找到得当的 xinitrc 与 xserverrc 后,就交给 xinit 来实行。 在预设的状况下 (运用者尚未有 ~/.xinitrc 等文件时),你输出 startx , 就即是停止 xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc 这个指令普通!但由于 xserverrc 也不存在,参考上一大节的参数搜索次序, 因而实践上的指令是:xinit /etc/X11/xinit/xinitrc -- /usr/bin/X,如许明晰吗?

                那为什么不要间接实行 xinit 而是运用 startx 来呼唤 xinit 呢?这是由于我们必需要获得一些参数嘛! startx 可以帮我们疾速的找到这些参数而不用手动输出的。由于单纯只是实行 xinit 的时分,零碎的预设 X Client 与 X Server 的内容是如许的:(注3)

                xinit xterm  -geometry  +1+1  -n  login  -display  :0 --  X  :0
                

                在 X client 方面:谁人 xterm 是 X 视窗底下的假造终端机,前面接的参数则是这个终端机的地位与登入与否。 最初面会接一个‘ -display :0 ’表现这个假造终端机是启动在‘第 :0 号的 X 表现介面’的意思。至于 X Server 方面, 而我们启动的 X server 顺序便是 X 啦!实在 X 便是 Xorg 的保持档,亦便是 X Server 的主顺序啰! 以是我们启动 X 还挺复杂的~间接实行 X 罢了,同时还指定 X 启动在第 :0 个 X 表现介面。 假如单纯以下面的内容来启动你的 X 零碎时,你就会发明 tty7 有画面了!只是.....很丑~由于我们还没有启动 window manager 啊!

                从下面的阐明我们可以晓得, xinit 次要在启动 X server 与载入 X client ,但这个 xinit 所需求的参数则是由 startx 去帮助找寻的。因而,最紧张确当然便是 startx 找到的那些参数啦! 以是呢,重点固然便是 /etc/X11/xinit/ 目次下的 xinitrc 与 xserverrc 这两个文件的内容是啥啰~ 固然 xserverrc 预设是不存在的。底下我们就辨别来谈一谈这两个文件的次要内容与启动的方法~


                • 启动 X server 的文件: xserverrc

                X 视窗开始需求启动的便是 X server 啊,那 X server 启动的剧本与参数是透过 /etc/X11/xinit/ 外面的 xserverrc 。不外我们的 CentOS 5.x 基本就没有 xserverrc 这个文件啊! 那运用者家目次现在也没有 ~/.xserverrc ,这个时分零碎会怎样做呢?实在便是实行 /usr/bin/X 这个指令啊! 这个指令也是零碎最原始的 X server 实行档啰。

                在启动 X Server 时,Xorg 会去读取 /etc/X11/xorg.conf 这个设定档。针对这个设定档的内容, 我们会在下个大节引见。假如统统顺遂,那么 X 就会顺遂的在 tty7 的情况中启动了 X 。 单纯的 X 启动时,你只会看到画面一片乌黑,然后中央有个滑鼠的游标罢了~

                由前一大节的阐明中,你可以发明到实在 X 启动的时分还可以指定启动的介面喔!那便是 :0 这个参数,这是啥? 现实上我们的 Linux 可以‘同时启动多个 X’喔!第一个 X 的画面会在 :0 亦便是 tty7 ,第二个 X 则是 :1 亦便是 tty8 。 后续还可以有其他的 X 存在的。因而,上一大节我们也有发明, xterm 在载入时,也必需要运用 -display 来阐明, 这个 X 使用顺序是需求在哪个 X 载入的才行呢!此中比拟风趣的是, X server 未注明载入的介面时,预设是运用 :0 ~ 但是 X client 未注明时,则无法实行喔!

                启动了 X server 后,接上去便是载入 X client 到这个 X server 下面啦!


                • 启动 X Client 的文件: xinitrc

                假定你的家目次并没有 ~/.xinitrc ,则此时 X Client 会以 /etc/X11/xinit/xinitrc 来作为启动 X Client 的预设剧本。xinitrc 这个文件会将许多其他的文件参数引出去, 包罗 /etc/X11/xinit/xinitrc-common 与 /etc/X11/xinit/Xclients 另有 /etc/sysconfig/desktop 。你可以参考 xinitrc 后去搜索各个文件来理解相互的干系。

                不外剖析到最初,实在终极便是载入 KDE 或许是 GNOME 罢了。你也可以发明终极在 XClient 文件当中会有两个指令的搜索, 包罗 startkde 与 gnome-session 这两个,这也是 CentOS 预设会提供的两个次要的 Window Manager 啰。 而你也可以透过修正 /etc/sysconfig/desktop 内的 DESKTOP=GNOME 或 DESKTOP=KDE 来决议预设运用哪个视窗办理员的。 假如你并没有装置这两个各人伙,那么 X 就会去运用阳春的 twm 这个视窗办理员来办理你的情况啰。

                Tips:
                不管怎样说,鸟哥照旧盼望各人可以透过剖析 startx 这个 script 的内容去找到每个文件, 再依据剖析每个文件来找到您 distributions 下面的 X 相干文件~ 终究每个版本的 Linux 照旧有所差别的~
                鸟哥的图示

                别的,假如有特别需求,你固然可以自订 X client 的参数!这就得要修正你家目次下的 ~/.xinitrc 这个文件啰。 不外要留意的是,假如你的 .xinitrc 设定档外面有启动的 x client 许多的时分,万万留意将除了最初一个 window manager 或 X Client 之外,都放到配景外面去实行啊!举例来说,像底下如许:

                       xclock -geometry 100x100-5+5 &
                       xterm -geometry 80x50-50+150 &
                       exec /usr/bin/twm
                

                意思便是说,我启动了 X ,而且同时启动 xclock / xterm / twm 这三个 X clients 喔! 云云一来,你的 X 就有这三个咚咚可以运用了!假如遗忘加上 & 的标记,那就..... 会让零碎等候啊,而无法一次就登入 X 呢!


                • X 启动的端口

                好了,依据下面的阐明,我们晓得要在笔墨介面底下启动 X 时,间接运用 startx 来找到 X server 与 X client 的参数或设定档, 然后再呼唤 xinit 来启动 X 视窗零碎。xinit 先载入 X server 到预设的 :0 这个表现介面 (预设在 tty7),然后再载入 X client 到这个 X 表现介面上。而 X client 通常便是 GNOME 或 KDE ,这两个设定也可以在 /etc/sysconfig/desktop 外面作好设定。最初我们想要理解的是,既然 X 是可以跨网络的,那 X 启动的端口是几号?

                实在,CentOS 由于思索 X 视窗是在本机下面运作,因而将端口改为插槽档 (socket) 了,因而你无法察看到 X 启动的端口的。现实上, X server 应该是要启动一个 port 6000 来与 X client 停止相同的! 由于零碎下面也能够有多个 X 存在,因而我们就会有 port 6001, port 6002... 等等。这也便是说:

                X 视窗零碎表现介面号码预设终端机网络监听端口
                第一个 Xhostname:0tty7port 6000
                第二个 Xhostname:1tty8port 6001

                在 X Window System 的情况下,我们称 port 6000 为第 0 个表现介面,亦即为 hostname:0 , 谁人主机称号通常可以不写,以是就成了 :0 即可。在预设的状况下,第一个启动的 X (不管是启动在第几个 port number) 是在 tty7 ,亦即按下 [ctrl]+[Alt]+[F7] 谁人画面。 而起动的第二个 X (留意到了吧!可以有多个 X 同时启动在您的零碎上呢) 则预设在 tty8 亦即 [ctrl]+[Alt]+[F8] 谁人画面呢!很神奇吧! ^_^

                如前所述,由于主机上的 X 能够有多个同时存在,因而,当我们在启动 X Server / Client 时, 应该都要注明该 X Server / Client 次要是提供或承受来自哪个 display 的 port number 才行。


                小标题的图示X 启动流程测试

                好了,我们可以针对 X Server 与 X client 的架构来做个复杂的测试喔! 由于鸟哥不晓得你究竟有没有启动过 X ,因而底下鸟哥将这个训练指定于第二个 X ,亦便是 :1 这个表现地位来表现喔! 并且,底下的指令都是在 tty1 的中央实行的,至于底下的画面则是在 tty8 的中央展示。 因而,请自行切换 tty1 下达指令与 tty8 查阅后果啰!(假如是 CentOS 之类的 Red Hat 零碎,请务须要启动 xfs 这个效劳喔!)

                1. 先来启动第一个 X 在 :1 画面中:
                [root@www ~]# X :1 &
                
                单纯启动 X server的状况
                图 1.4.1 、 单纯启动 X server的状况

                上述的 X 是大写,谁人 :1 是写在一同的,至于 & 则是放到配景去实行。此时零碎会自动的跳到第二个图形介面终端机,亦即 tty8 上喔!以是假如统统顺遂的话,你应该可以看到一个 X 的滑鼠游标可以让你挪动了(如上图所示)。 该画面便是 X Server 启动的画面啰!丑丑的,并且没有什么 client 可以用啊! 接上去,请按下 [ctrl]+[alt]+[F1] 回到方才下达指令的终端机:

                2. 输出数个可以在 X 当中实行的假造终端机
                [root@www ~]# xterm -display :1  &
                [root@www ~]# xterm -display :1  &
                
                在 X 下面启动 xterm 终端机表现的后果
                图 1.4.2 、 在 X 下面启动 xterm 终端机表现的后果

                谁人 xterm 是必需要在 X 底下才干够实行的终端机介面。参加的参数 -display 则是指出这个 xterm 要在谁人 display 运用的。这两个指令请不要一次下完!先实行一次,然后按下 [ctrl]+[alt]+[F8] 去到 X 画面中,你会发明多了一个终端机啰~ 不外,惋惜的是,你无法看到终端机的标题、也无法挪动终端机,固然也无法调解终端机的巨细啊!我们回到方才的 tty1 然后再次下达 xterm 指令,实际上应该多一个终端机,去到 tty8 查阅一下。唉~没有多出一个终端机啊? 这是由于两个终端机堆叠了~我们又无法挪动终端机,以是只看到一个。 接上去,请再次回到 tty1 去下达指令吧!

                3. 在输出差别的 X client 察看察看,辨别去到 tty8 察看喔!
                [root@www ~]# xclock -display :1  &
                [root@www ~]# xeyes -display :1  &
                
                辨别启动 xclock 时钟与 xeyes 眼睛的后果
                图 1.4.3 、 辨别启动 xclock 时钟与 xeyes 眼睛的后果

                跟后面一样的,我们又多实行了两个 X client ,此中 xclock 会表现时钟,而 xeyes 则是会呈现一双大眼睛来盯着游标! 你可以挪动一卑鄙标就可以发明眼睛的焦聚会跑啊 ^_^!不外,现在的四个 X client 统统不克不及够挪动与缩小减少! 云云一来,你怎样在 xterm 底下下达指令啊?固然就很困扰~以是让我们来载入最阳春的视窗办理员吧!

                4. 输出可以办理的 window manager
                [root@www ~]# twm -display :1  &
                
                视窗办理员 twm 的功用表现
                图 1.4.4 、 视窗办理员 twm 的功用表现

                回到 tty1 后,用最复杂的 twm 这个视窗办理员来办理我们的 X 吧!输出之后,去到 tty8 看看,用滑鼠挪动一下终端机看看?可以挪动了吧?也可以减少缩小视窗啰~同时也呈现了标题提示啰~也看到两个终端机啦! 如今终于晓得视窗办理员的紧张性了吧? ^_^!在黑荧幕中央按下滑鼠右键,就会呈现相似下面画面最左边的选单, 你就可以停止额定的办理啰~玩玩看先!

                5. 将一切方才树立的 X 相干任务全部杀失!
                [root@www ~]# kill %6
                [root@www ~]# kill %5
                [root@www ~]# kill %4
                [root@www ~]# kill %3
                [root@www ~]# kill %2
                [root@www ~]# kill %1
                

                很风趣的一个小实行吧~透过这个实行,你应该会对 X server 与 Window manager 及 tty7 当前的终端介面运用方法有比拟清晰的理解~加油!


                小标题的图示我能否需求启用 X Window System

                谈了这么多 X 视窗零碎方面的资讯后,再来聊聊,那么你的 Linux 主机能否需求预设就启动 X 视窗呢? 普通来说,假如你的 Linux 主机定位为网络效劳器的话,那么由于 Linux 外面的次要效劳的设定档都是纯笔墨的款式文件, 相称的容易设定的,以是啊,基本便是不需求 X Window 存在呢!由于 X Window 仅是 Linux 零碎内的一个软件罢了啊!

                但是万一你的 Linux 主机是用来作为你的桌上电脑用的,那么 X Window 对你而言,便是相称紧张的一个咚咚了!由于我们一样平常运用的办公室软件,都需求运用到 X Window 图形的功用呢!别的,以鸟哥的例子来说,俺之前打仗到的数值剖析形式,需求应用图形处置软件来将材料读取出来, 以是在那部 Linux 主机下面,我肯定需求 X Window 的。

                回归到主题下面,除了主机的用处决议你能否需求启用 X Window 之外, 主机的‘装备’也是你必需要思索的一项决议性要素。由于 X Window 假如要雅观,能够需求功用较为弱小的 KDE 或 GNOME 等视窗办理员的帮忙,但是这两个庞然大物关于零碎的要求又很高,除了 CPU 品级要够,RAM 要足之外,表现卡的品级也不克不及太差~以是,晚期的主机能够关于 X Window 就没有方法具有很好的实行服从了。

                也便是说,你假如想要玩 X Window 的话,特殊需求思索到这两点:

                • 波动性

                  X Window 仅是 Linux 下面的一个软件,固然现在的 X window 曾经整合得相称好了,但任何顺序的设计都或多或少会有些臭虫, X 固然也不破例。别的,在你的 Linux 效劳器下面启用 X 零碎的话,天然多一组顺序的启用 (X Window 会启动多个顺序来实行各项义务) ,零碎的不确定性固然能够会添加一些。 因而,鸟哥不是很发起对 Internet 开放的效劳器启动 X Window 的啦!

                • 效能

                  无论怎样说,顺序在跑总是需求零碎资源的,以是,多启用了 X 就会形成一些零碎资源的消耗。 别的,下面也稍稍提到,某些 X 的软件是相称消耗零碎资源的呢!以是,启动 X 能够会让你的可用零碎资源 (尤其是影象体) 低落许多,能够会形成零碎效能较高涨的题目。
                Tips:
                鸟哥刚开端打仗 Linux (约莫是在 1999 年左右)时,由于不熟,通常都是预设给他启用 X Window 在我的主机下面的。 不外,谁人时分的图形介面与 Linux kernel 的整合度比拟差, 总是挂点去,是经常形成主机下面的网络效劳无法顺畅的缘由之一呢!
                鸟哥的图示

                就鸟哥的运用经历来看, GNOME 速率略微快一点, KDE 的介面觉得比拟具有亲和力!不外,总体而言, 这个 X Window System 的速率实在并不是那么棒!假如你有其他图形介面的需求时,可以运用 yum 去装置一下 XFCE 这一套,XFCE 是比拟轻量级的视窗办理员,听说运用上速率比 GNOME 还快些。 近来很火红的 Ubuntu 的分支之一 Xubuntu 听说便是运用这套视窗办理员喔!试看看吧! ^_^


                大标题的图示X Server 设定档剖析与设定

                从后面的阐明来看,我们晓得一个 X 视窗零碎能不克不及乐成启动,实在与 X Server 有很大的干系的。由于 X Server 担任的是整个画面的描画,以是没有乐成启动 X Server 的话,即便有启动 X Client 也无法将图样表现出来啊。以是,底下我们就针对 X Server 的设定档来做个复杂的阐明,好让各人可以乐成的启动 X Window System 啊。

                根本上, X Server 办理的是表现卡、荧幕剖析度、滑鼠按键对应等等,尤其是表现卡晶片的看法,真是紧张啊。 别的,另有表现的字体也是 X Server 办理的一环。根本上,X server 的设定档都是预设安排在 /etc/X11 目次下,而相干的表现模组或下面提到的总总模组,则次要安排在 /usr/lib/xorg/modules 底下。比拟紧张的是字型档与晶片组,她们次要安排在:

                • 提供的荧幕字型: /usr/share/X11/fonts/
                • 表现卡的晶片组: /usr/lib/xorg/modules/drivers/

                在 CentOS 底下,我们可以透过 chkfontpath 这个指令来获得现在零碎有的字型文件目次。 这些都要透过一个一致的设定档来标准,那便是 X server 的设定档啦。这个设定档的档名便是 /etc/X11/xorg.conf 喔!


                小标题的图示剖析 xorg.conf 设定

                好像前几个大节谈到的,在 Xorg 基金会外面的 X11 版本为 X11R7.xx ,那假如你想要晓得究竟你用的 X Server 版本是第几版,可以运用 X 指令来反省喔!(你必需以 root 的因素实行下列指令)

                [root@www ~]# X -version
                X Window System Version 7.1.1
                Release Date: 12 May 2006
                X Protocol Version 11, Revision 0, Release 7.1.1
                Build Operating System: Linux 2.6.18-53.1.14.el5PAE i686 Red Hat, Inc.
                Current Operating System: Linux localhost.localdomain 2.6.18-128.1.14.el5 #1 
                SMP Wed Jun 17 06:40:54 EDT 2009 i686
                Build Date: 21 January 2009
                Build ID: xorg-x11-server 1.1.1-48.52.el5
                        Before reporting problems, check http://wiki.x.org
                        to make sure that you have the latest version.
                Module Loader present
                

                由下面的几个要害字我们可以晓得,现在鸟哥的这部测试机运用的 X server 是 Xorg 方案所提供的 X11R7 版, 如有题目则可以到 http://wiki.x.org 去盘问~由于是 Xorg 这个 X server ,因而我们的设定档档名为 /etc/X11/xorg.conf 这一个哩。以是,了解这个文件的内容关于 X server 的功用来说,是很紧张的。

                留意一下,在修正这个文件之前,务必将这个文件给她备份上去,免的改错了什么工具招致连 X server 都无法启动的题目啊。这个文件的内容是分红数个段落的,每个段落以 Section 开端,以 EndSection 完毕, 外面含有该 Section (段落) 的相干设定值,比方:

                Section  "section name"
                …… <== 与这个 section name 有关的设定项目
                ……
                EndSection
                

                至于罕见的 section name 次要有:

                1. Module: 被载入到 X Server 当中的模组 (某些功用的驱动顺序);
                2. InputDevice: 包罗输出的 1. 键盘的款式 2. 滑鼠的款式,以及其他相干输出设置装备摆设;
                3. Files: 设定字型地点的目次地位等;
                4. Monitor: 监督器的款式, 次要是设定程度、垂直的更新频率,与硬体有关;
                5. Device: 这个紧张,便是表现卡晶片组的相干设定了;
                6. Screen: 这个是在荧幕上表现的相干剖析度与颜色深度的设定项目,与表现的举动有关;
                7. ServerLayout: 上述的每个项目都可以重覆设定,这里则是此一 X server 要取用的哪个项目值的设定啰。

                好了,间接来看看这个文件的内容吧!这个文件预设的状况是取消许多设定值的,以是你的设定档能够不会看到这么多的设定项目。 没关系的,后续的章节会交接怎样设定这些项目标喔!

                [root@www ~]# cd /etc/X11
                [root@www X11]# cp -a xorg.conf xorg.conf.20090713  <== 有备份有保佑
                [root@www X11]# vim xorg.conf
                Section "Module"
                        Load  "dbe"
                        Load  "extmod"
                        Load  "record"
                        Load  "dri"
                        Load  "xtrap"
                        Load  "glx"
                        Load  "vnc"
                EndSection
                # 下面这些模组是 X Server 启动时,盼望可以额定取得的相干援助的模组。
                # 关于更多模组可以搜索一下 /usr/lib/xorg/modules/extensions/ 这个目次
                
                Section "InputDevice"
                        Identifier  "Keyboard0"
                        Driver      "kbd"
                        Option      "XkbModel" "pc105"
                        Option      "XkbLayout" "us"  <==留意,是 us 美式键盘对应
                EndSection
                # 这个玩意儿是键盘的对应设定材料,重点在于 XkbLayout 那一项,
                # 假如没有题目的话,我们台湾地域应该都是运用美式键盘对应按钮的。
                # 特殊留意到 Identifier (界说) 那一项,谁人是在阐明,我这个键盘的设定档,
                # 被界说为称号是 Keyboard0 的意思,这个称号最初会被用于 ServerLayout 中
                
                Section "InputDevice"
                        Identifier  "Mouse0"
                        Driver      "mouse"
                        Option      "Protocol" "auto"
                        Option      "Device" "/dev/input/mice"
                        Option      "ZAxisMapping" "4 5 6 7" <==滚轮援助
                EndSection
                # 这个则次要在设定滑鼠功用,重点在谁人 Protocol 项目,
                # 谁人是可以指定滑鼠介面的设定值,我这里运用的是主动探测!不管是 USB/PS2。
                
                Section "Files"
                        RgbPath      "/usr/share/X11/rgb"
                        ModulePath   "/usr/lib/xorg/modules"
                        FontPath     "unix/:7100"  <==运用别的的效劳来提供字型界说
                        FontPath     "built-ins"
                EndSection
                # 我们的 X Server 很紧张的一点便是必需要提供字型,这个 Files 
                # 的项目便是在设定字型,固然啦,你的主机必需要有字型档才行。普通字型文件在:
                # /usr/share/X11/fonts/ 目次中。至于谁人 Rgb 是与颜色有关的项目。
                # 相干的字型阐明我们会在下一大节的 xfs 在跟各人陈诉。
                
                Section "Monitor"
                        Identifier   "Monitor0"
                        VendorName   "Monitor Vendor"
                        ModelName    "Monitor Model"
                        HorizSync    30.0 - 80.0
                        VertRefresh  50.0 - 100.0
                EndSection
                # 荧幕监督器的设定仅有一个中央要留意,那便是垂直与程度的更新频率。
                # 在下面的 HorizSync 与 VerRefresh 的设定上,要留意,不要设定太高,
                # 这个玩意儿与实践的监督器功用有关,请盘问你的监督器手册阐明来设定吧!
                # 传统 CRT 荧幕设定太高的话,听说会让 monitor 废弃呢,要很留意啊。
                
                Section "Device"   <==表现卡的驱动顺序项目
                        Identifier  "Card0"
                        Driver      "vesa"  <==实践的驱动顺序喔!
                        VendorName  "Unknown Vendor"
                        BoardName   "Unknown Board"
                        BusID       "PCI:0:2:0"
                EndSection
                # 这中央紧张了,这便是表现卡的晶片模组载入的设定地区。由于鸟哥运用 Virtualbox
                # 模仿器模仿这个测试机,因而这个中央表现的驱动顺序为通用的 vesa 模组。
                # 更多的表现晶片模组可以参考 /usr/lib/xorg/modules/drivers/
                
                Section "Screen"    <==与表现的画面有关,剖析度与颜色深度
                        Identifier "Screen0"
                        Device     "Card0"     <==运用哪个表现卡来提供表现
                        Monitor    "Monitor0"  <==运用哪个监督器
                        SubSection "Display"   <==此阶段的隶属设定项目
                                Viewport   0 0
                                Depth     16   <==便是颜色深度
                		Modes    "1024x768" "800x600" "640x480" <==剖析度
                        EndSubSection
                        SubSection "Display"
                                Viewport   0 0
                                Depth     24
                		Modes    "1024x768" "800x600"
                        EndSubSection
                EndSection
                # Monitor 与实践的表现器有关,而 Screen 则是与表现的画面剖析度、颜色深度有关。
                # 我们可以设定多个剖析度,实践使用时可以让运用者自行选择想要的剖析度来出现。
                # 不外,为了防止困扰,鸟哥通常只指定一到两个剖析度罢了。
                
                Section "ServerLayout"   <==实践选用的设定值
                        Identifier     "X.org Configured"
                        Screen      0  "Screen0" 0 0              <==剖析度等
                        InputDevice    "Mouse0" "CorePointer"     <==滑鼠
                        InputDevice    "Keyboard0" "CoreKeyboard" <==键盘
                EndSection
                # 我们下面设定了这么多的项目之后,最初整个 X Server 要用的项目,
                # 就统统一骨脑的给他写入这里便是了,包罗键盘、滑鼠以及表现介面啊。
                # 此中 screen 的局部还扳连到表现卡、监督器荧幕等设定值呢!
                

                下面设定终了之后,就即是将整个 X Server 设定妥当了,很复杂吧。 假如你想要更新其他的比方表现晶片的模组的话,就得要去硬体开辟商的网站下载原始档来编译才行。 设定终了之后,你就可以启动 X Server 试看看啰。根本上,假如你的 Files 谁人项目用的是间接写入字型的途径, 那就不需求启动 XFS (X Font Server),假如是运用 font server 时,就要先启动 xfs :

                # 1. 启动 xfs 效劳:
                [root@www ~]# /etc/init.d/xfs start
                
                # 2. 测试 X server 的设定档能否正常:
                [root@www ~]# startx  <==间接在 runlevel 3 启动 X 看看
                [root@www ~]# X :1    <==在 tty8 独自启动 X server 看看
                

                固然,你也可以应用 init 5 这个指令间接切换到图形介面的登入来试看看啰。

                Tips:
                经过讨论区网友的阐明,假如你发明明显有捉到表现卡驱动顺序却总是无法顺遂启动 X 的话,可以实验辞官网获得驱动顺序来装置, 也可以将‘Device’阶段的‘Driver’修正成预设的‘Driver "vesa"’,运用该驱动顺序来临时启动 X 内的表现卡喔!
                鸟哥的图示

                小标题的图示X Font Server (XFS) 与参加额定中笔墨形

                与 X 有关的设定档次要是 /etc/X11/xorg.conf 这个主设定档,但是方才上头剖析这个文件时,在 Files 的局部我们还提到了 X Font Server (XFS) 这个效劳喔!这个是啥咚咚?这个效劳的目标在提供 X server 字型库啦! 也便是说, X server 所运用的字型实在是 XFS 这个效劳所提供的,因而没有启动 XFS 效劳时,你的 X server 是无法顺遂启动的喔!以是,我们固然就来瞧瞧这玩意儿的功用啰!

                这个 XFS 的主设定档在 /etc/X11/fs/config ,而字型档则在 /usr/share/X11/fonts/ ,这里再次给他夸大一下。 至于启动的剧本则在 /etc/init.d/xfs 啰!好,那我们就先来瞧瞧主设定档的内容是怎样的设定吧!

                [root@www ~]# vi /etc/X11/fs/config
                client-limit = 10  <==最多容许几个 X server 向我要求字型(由于跨网络)
                clone-self = on    <==与效能有关,若 xfs 到达限定值,启动新的 xfs
                catalogue = /usr/share/X11/fonts/misc:unscaled,
                        /usr/share/X11/fonts/75dpi:unscaled,
                        /usr/share/X11/fonts/100dpi:unscaled,
                        /usr/share/X11/fonts/Type1,
                        /usr/share/X11/fonts/TTF,
                        /usr/share/fonts/default/Type1,
                # 下面这些咚咚,便是字型文件的地点!假如你有新字型,可以安排在该目次。
                
                default-point-size = 120            <==预设字型巨细,单元为 1/10 点字 (point)
                default-resolutions = 75,75,100,100 <==这个则是表现的字型像素 (pixel)
                deferglyphs = 16                    <==耽误表现的字型,此为 16 bits 字型
                use-syslog = on                     <==启动援助错误登录
                no-listen = tcp                     <==启动 xfs 于 socket 而非 TCP
                

                下面这个文件的设定重点在 catalogue 谁人设定项目当中。你可以运用 chkfontpath 这个指令来列出现在援助的字型文件,也可以间接修正呢!

                别的,固然现在的 CentOS 曾经是援助多国语系了,因而你可以间接在装置终了后就看到中文, 不外预设的中笔墨形能够让你不太称心~此时,你可以选择额定的中笔墨形表现喔。比拟著名的中笔墨形除了预设提供的文鼎字型外, 另有一种台北字型 (taipeifonts),不外这种字形是 Big5 编码的,因而预设并没有在你的字型援助之中 (由于现在大多运用万国码来表现中文了)。假如你想要测试一下这种字形,除了自行下载字型档之外, 我们可以运用 CentOS 提供的软件来处置喔!看看底下的作法吧:

                # 1. 先装置中笔墨形软件,亦即 fonts-chinese 这个软件名
                [root@www ~]# yum install fonts-chinese
                
                # 2. 查阅 taipei 字型的地点目次地位:
                [root@www ~]# rpm -ql fonts-chinese | grep taipei
                /usr/share/fonts/chinese/misc/taipei16.pcf.gz  <==重点在目次!
                /usr/share/fonts/chinese/misc/taipei20.pcf.gz
                /usr/share/fonts/chinese/misc/taipei24.pcf.gz
                
                # 3. 树立字型档的目次架构
                [root@www ~]# cd /usr/share/fonts/chinese/misc
                [root@www ~]# mkfontdir
                # 这个指令在建置 fonts.dir 这个文件,提供字型文件目次的阐明。
                
                # 4. 将上述的目次参加 xfs 的援助之中:
                [root@www ~]# chkfontpath -a /usr/share/fonts/chinese/misc/
                [root@www ~]# chkfontpath
                ....(后面省略)....
                /usr/share/fonts/chinese/misc:unscaled
                /usr/share/fonts/chinese/misc  <==这两行会被新增出来!
                [root@www ~]# /etc/init.d/xfs restart
                
                # 5. 在 X window 底下启动终端机,测试一下有没有捉到该字型?
                [root@www ~]# xlsofnts | grep taipei
                # 假如顺遂的话,你会看到有几个 taipeiXX 的字样在荧幕上呈现!
                

                这个时分的 X server 曾经有新援助的中笔墨形了,很复杂吧!不外假如你想要让 X client 可以运用额定的字型的话,还得要运用 fontconfig 的软件提供的 fc-cache 来树立字型快取档才行 (注4)!


                • 让视窗办理员可以运用额定的字型

                假如想要运用额定的字型的话,你可以自行获得某些字型来处置的。鸟哥这边从 Windows 获得三个文件来作为测试,这边得注明一下是地道的测试,测试终了后文件就给她拿失了, 并没有继续运用喔!并没有想要守法的意思啦~各人参考看看就好了。这三个文件辨别是 kaiu.ttf simsun.ttc times.ttf,代表的是中楷体、明体、times and Romans 三种字体。 那就来看看怎样添加字型吧!(假定上述的三个字体档是安排在 /root 中)

                # 1. 将上述的三个文件安排到零碎设定目次,亦即底下的目次中:
                [root@www ~]# cd /usr/share/fonts/
                [root@www ~]# mkdir windows
                [root@www ~]# cp /root/*.tt[fc] /usr/share/fonts/windows
                
                # 2. 运用 fc-cache 将上述的文件参加字型的援助中:
                [root@www ~]# fc-cache -f -v
                ....(后面省略)....
                /usr/share/fonts/windows: caching, 4 fonts, 0 dirs
                ....(两头省略)....
                fc-cache: succeeded
                # -v 仅是列出现在的字型材料, -f 则是强迫重新树立字型快取!
                
                # 3. 透过 fc-list 列出曾经被运用的文件看看:
                [root@www ~]# fc-list : file  <==找出被快取住的档名
                ....(后面省略)....
                /usr/share/fonts/windows/kaiu.ttf:
                /usr/share/fonts/windows/times.ttf:
                /usr/share/fonts/windows/simsun.ttc:
                ....(前面省略)....
                

                透过 fc-cache 以及 fc-list 去确认过字型的确存在后,就可以运用视窗办理员的功用去反省字型档了。 以 GNOME 为例,在‘零碎’-->‘偏好设定’-->‘字型’点选后,就会呈现可以调解的字型, 接上去你就会发明多出了‘楷体_utf-8、宋体、新宋体’等字体可以选择啰!试看看吧!鸟哥调解成为‘Times and Roman’ 呈现如下图的后果呢!参考看看:

                中笔墨形的调解后果
                图 2.2.1、中笔墨形的调解后果

                小标题的图示设定档重修与表现器参数微调

                假如你修正 xorg.conf 后果改错了,招致无法顺遂的启动 X server 时,偏偏又遗忘制造备份档!该如之奈何? 不要紧,我们的 Xorg 有提供不错的东西可以处置。同时 CentOS 也有提供相干的设定指令, 那便是在第二十一章提到的 setup 这个指令啦! 细致的设定请自行前去参考,在这里我们要引见的是运用 Xorg 重新制造出设定档啦!你可以运用 root 的身份如许实行:

                [root@www ~]# Xorg -configure :1
                

                此时 X 会自动的以内建的模组停止零碎硬体的探究,并将硬体与字型的探测后果写入 /root/xorg.conf.new 这个文件外面去,这便是 xorg.conf 的重制后果。不外,这个新建的文件不见得真的可以启动 X server , 以是我们必需要运用底下的指令来测试一下这个新的设定档能否可以顺遂的运作:

                [root@www ~]# X -config /root/xorg.conf.new :1
                

                由于鸟哥不晓得你究竟是在 runlevel 几号,因而上述的测试统统是在 tty8 的终端机下面表现 (display 1), 如许就可以防止切换到差别的 runlevel 啰~假如统统顺遂的话,你就可以将 /root/xorg.conf.new 复制成为 /etc/X11/xorg.conf 掩盖失修正错误的文件,然后重新启动 X ,嘿嘿!应该就可以顺遂的救返来你的 X Window System 啰!


                • 关于荧幕剖析度与更新率

                有些冤家偶而会如许问:‘我的表现器明显还不错,但是荧幕剖析度却永久只能到达 800x600 罢了, 这该怎样处置?’,荧幕的剖析度应该与表现卡相干性不高,而是与表现器的更新频率有关! 所谓的更新频率,指的是在一段工夫内荧幕重新绘制画面的速率。举例来说, 60Hz 的更新频率, 指的是每秒钟画面更新 60 次的意思。那么关于表现器的更新频率该怎样调解呢? 你得先去找到你的表现器的运用阐明书 (或许是网站会有规格引见),获得最高的更新率后,接上去选择你想要的剖析度, 然后透过这个 gtf 的指令功用来调解:

                [root@www ~]# gtf 程度像素 垂直像素 更新频率 [-xv]
                选项与参数:
                程度像素:便是剖析度的 X 轴
                垂直像素:便是剖析度的 Y 轴
                更新频率:与表现器有关,普通可以选择 60, 75, 80, 85 等频率
                -x      :运用 Xorg 设定档的形式输入,这是预设值
                -v      :表现探测的进程
                
                # 1. 运用 1024x768 的剖析度,75 Hz 的更新频率来获得表现器内容
                [root@www ~]# gtf 1024 768 75 -x
                # 1024x768 @ 75.00 Hz (GTF) hsync: 60.15 kHz; pclk: 81.80 MHz
                Modeline "1024x768_75.00"  81.80  1024 1080 1192 1360  768 769 772 802  -HSync +Vsync
                # 重点是 Modeline 那一行!那行给他抄上去
                
                # 2. 将上述的材料输出 xorg.conf 内的 Monitor 项目中:
                [root@www ~]# vim /etc/X11/xorg.conf
                Section "Monitor"
                    Identifier   "Monitor0"
                    VendorName   "Monitor Vendor"
                    ModelName    "Monitor Model"
                    Modeline "1024x768_75.00"  81.80  1024 1080 1192 1360  768 769 772 802  -HSync +Vsync
                EndSection
                # 便是新增上述的那行特别字体局部到 Monitor 的项目中即可。
                

                然后重新启动你的 X ,如许就可以选择新的剖析度啰!那怎样重新启动 X 呢?两个办法, 一个是‘ init 3 ; init 5 ’从笔墨形式与图形形式的实行品级去切换,另一个比拟复杂, 假如本来便是 runlevel 5 的话,那么在 X 的画面中按下‘ [alt] + [crtl] + [backspace] ’三个组合按键, 就可以重新启动 X 视窗啰!


                大标题的图示表现卡驱动顺序装置典范

                固然你的 X 视窗零碎曾经顺遂的启动了,也调解到你想要的剖析度了,不外在某些场所底下,你想要运用表现卡提供的 3D 减速功用时,却发明 X 提供的预设的驱动顺序并不援助!此时真是欲哭无泪啊~那该如之奈何?不要紧,装置官方网站提供的驱动顺序即可! 现在 (2009) 天下上针对 x86 提供表现卡的厂商最大的应该是 Nvidia / AMD (ATI) / Intel 这三家 (没有照市占率陈列), 以是底下鸟哥就针对这三家的表现卡驱动顺序装置,作个复杂的引见吧!

                由于硬体驱动顺序与中心有关,因而你想要装置这个驱动顺序之前,请务必先参考第二十二章第二十三章的引见,才干够顺遂的编译出表现卡驱动顺序喔! 发起可以间接运用 yum 去装置‘ Development Tools ’这个软件群组以及 kernel-devel 这个软件即可。


                小标题的图示NVidia

                固然 Xorg 曾经针对 NVidia 公司的表现卡驱动顺序提供了 nv 这个模组,不外这个模组无法提供许多额定的功用。 因而,假如你想要运用新的表现卡功用时,就得要额定装置 NVidia 提供的给 Linux 的驱动顺序才行。 你可以如许作的:


                • 下载驱动顺序

                发起你可以到 NVidia 的官网 (http://www.nvidia.com.tw) 自行去下载最新的驱动顺序,你也可以究竟下的保持间接查阅给 Linux 用的驱动顺序:

                请自行选择与你的零碎相干的情况。鸟哥选择本人的测试机是 Intel Core2 架构,因而选择 Linux AMD64/EM64T 的驱动顺序版本,这个版本的驱动顺序档名为: NVIDIA-Linux-x86_64-xxx.yy.zz-pkg2.run ,此中的 xxx.yy.z 便是驱动顺序的版本号码。我将这个文件安排到 /root家目次中。


                • 开端装置驱动顺序

                装置进程有点像如许 (档名按照你的情况去下载与实行):

                [root@www ~]# sh NVIDIA-Linux-x86_64-185.18.14-pkg2.run
                
                NVidia 驱动顺序装置表示
                图 3.1.1、NVidia 驱动顺序装置表示

                下面说的是受权,你必需要承受 (Accept) 才干持续。

                NVidia 驱动顺序装置表示
                图 3.1.2、NVidia 驱动顺序装置表示

                我们不预期 NVidia 会帮我们编译好中心模组,因而这里选择 No ,让我们本人编译模组吧!

                NVidia 驱动顺序装置表示
                图 3.1.3、NVidia 驱动顺序装置表示

                间接按下 OK 来持续下一步即可。

                NVidia 驱动顺序装置表示
                图 3.1.4、NVidia 驱动顺序装置表示

                开端停止中心模组的编译!这个进程不会太久~

                NVidia 驱动顺序装置表示
                图 3.1.5、NVidia 驱动顺序装置表示

                能否要装置额定的 OpenGL 函式库?要啊!就选择 Yes 吧!

                NVidia 驱动顺序装置表示
                图 3.1.6、NVidia 驱动顺序装置表示

                这个时分开端装置表现卡的驱动顺序,会破费一段工夫喔!然后呈现下图:

                NVidia 驱动顺序装置表示
                图 3.1.7、NVidia 驱动顺序装置表示

                让这支装置顺序自动的去修正 xorg.conf 吧!比拟轻松痛快!就按下 Yes 即可。

                NVidia 驱动顺序装置表示
                图 3.1.8、NVidia 驱动顺序装置表示

                最初按下 OK 就完毕装置啰!这个时分假如你去查阅一下 /etc/X11/xorg.conf 的内容,会发明 Device 的 Driver 设定会成为 nvidia 而不是本来的 nv 喔!如许就搞定啰!很复杂吧! 并且这个时分你的 /usr/lib64/xorg/modules/drivers 目次内,会多出一个 nvidia_drv.so 的驱动顺序文件啰! 同时这个软件还提供了一支很有效的顺序来协助我们停止驱动顺序晋级喔!

                [root@www ~]# nvidia-installer --update
                # 可以停止驱动顺序的晋级反省喔!
                

                好啰,那你就赶忙试看看新的表现卡晶片的功用吧。而假如有什么疑问的话,查阅一下 /var/log/nvidia 扫尾的登录档看看吧! ^_^


                小标题的图示ATI (AMD)

                ATI 曾经被 AMD 收买了,而 AMD 在近期曾经宣布了 ATI 的表现卡驱动顺序要开放成为 Open source , 这代表将来你可以很轻松的就获得 ATI 的表现卡驱动顺序而不用要重新装置的。不外,就好像后面提到的, 若你需求某些特别功用,发起照旧手动装置一下官方提供的驱动顺序吧!你必需要到 AMD 的网站去下载 ATI 表现卡驱动顺序哩! 你可以到 http://www.amdtaiwan.com.tw/ 选择‘ATI 驱动顺序’的保持去选择你的表现卡驱动顺序版本,也可以点选底下的保持:

                然后去选择你的作业零碎与表现卡的型号来下载。鸟哥运用另一台含有 ATI 表现卡的主机来装置驱动顺序, 该主机运用的是 Randon HD 3200 的表现卡晶片,最初下载的文件是: ati-driver-installer-9-6-x86.x86_64.run。 要装置这个驱动顺序的办法与 NVidia 的方法很像的,异样的间接实行该文件即可:

                [root@www ~]# sh ati-driver-installer-9-6-x86.x86_64.run
                
                ATI 表现卡驱动顺序装置表示
                图 3.2.1、ATI 表现卡驱动顺序装置表示

                选择装置吧!

                ATI 表现卡驱动顺序装置表示
                图 3.2.2、ATI 表现卡驱动顺序装置表示

                这里的目标是让我们确定一下,能否真的是装置在 x86_64 的硬体下面罢了!按下 OK 去!

                ATI 表现卡驱动顺序装置表示
                图 3.2.3、ATI 表现卡驱动顺序装置表示

                看完受权之后,间接给他 Exit 分开受权阐明,然后会呈现承受与否的字样:

                ATI 表现卡驱动顺序装置表示
                图 3.2.4、ATI 表现卡驱动顺序装置表示

                要装置啊!以是固然便是 Yes 下去喔!

                ATI 表现卡驱动顺序装置表示
                图 3.2.5、ATI 表现卡驱动顺序装置表示

                最初选择预设装置即可!不需求运用专家装置啦!如许就装置终了了!也黑白常疾速吧!最初就会在 /usr/lib64/xorg/modules/drivers/ 外面呈现 fglrx_drv.so 这个新的驱动顺序啦! 与 Nvidia 相反的, ATI 也提供一支名为 aticonfig 的指令来帮助设定 xorg.conf ,你可以间接输出‘ aticonfig -v ’来看看处置的方法即可。然后你就可以重新启动 X 来看看新的驱动顺序功用啰!十分复杂吧!


                小标题的图示Intel

                诚实说,由于 Intel 针对 Linux 的图形介面驱动顺序曾经开放成为 Open source 了,以是实际上你不需求重新装置 Intel 的表现卡驱动顺序的。除非你想要运用比预设的更新的驱动顺序,那么才需求重新装置底下的驱动顺序。 Intel 对 Linux 的表现卡驱动顺序曾经有独立的网站在运作,如下的保持便是装置的阐明网页:

                实在 Intel 的表现卡用的中央十分的多喔!由于只需是整合型主机板晶片组,用的是 Intel 的晶片刻, 通常都整合了 Intel 的表现卡啰~鸟哥运用的一组 cluster 用的便是 Intel 的晶片,以是啰~ 这家伙也是用的到的啦!

                普通来说, Intel 的表现卡都经常会运用 i810 等驱动顺序,而不是这个较新的 intel 驱动顺序! 你可以观察一下你零碎能否有存在这些文件:

                [root@www ~]# locate libdrm
                /usr/lib/libdrm.so.2        <==32位元的函式库
                /usr/lib/libdrm.so.2.0.0
                /usr/lib64/libdrm.so.2      <==64位元安排地位差别!
                /usr/lib64/libdrm.so.2.0.0
                /usr/lib64/xorg/modules/linux/libdrm.so
                
                [root@www ~]# locate intel | grep xorg
                /usr/lib64/xorg/modules/drivers/intel_drv.so
                # 下面这个便是 Intel 的表现卡驱动顺序了!
                

                呼呼!我们的 CentOS 有提供新的 Intel 表现卡驱动顺序啦!以是不需求重新装置说~ 只是能够需求修正 xorg.conf 这个设定档的内容。根本上,要修正的中央有:

                [root@www ~]# vi /etc/X11/xorg.conf
                Section "Device"
                        Identifier  "Videocard0"
                        Driver      "intel"  <==本来能够会是运用 i810 喔
                EndSection
                
                Section "Module"
                        ....(两头省略)....
                        Load  "glx"    <==这两个很紧张!务须要载入!
                        Load  "dri"
                        ....(两头省略)....
                EndSection
                
                Section "DRI"          <==这三行是新增的!让各人都能运用 DRI
                       Mode 0666       <==根本上,便是权限的设定
                EndSection
                

                假如统统顺遂的话,接上去便是重新启动 X 啰~运用新的 Intel 驱动顺序吧!加油啰!


                大标题的图示重点回忆
                • Unix Like 作业零碎下面的 GUI 运用的是最后由 MIT 所开辟的 X window system,在 1987 释出 X11 版,并于 1994 变动为 X11R6 ,故此 GUI 介面也被称为 X 或 X11
                • X window system 的 X server 最后由 XFree86 方案所开辟,厥后则由 Xorg 基金会所继续开辟;
                • X window system 次要分为 X server 与 X client ,此中 X Server 在办理硬体,而 X Client 则是使用顺序。
                • 在运作上,X Client 使用顺序会将所想要出现的画面见告 X Server ,终极由 X server 来将后果透过他所办理的硬体绘制出来!
                • 每一支 X client 都不晓得对方的存在,必需要透过特别的 X client ,称为 Window Manager 的, 来办理各视窗的堆叠、挪动、最小化等任务。
                • startx 可以探测 X server / X client 的启动剧本,并呼唤 xinit 来辨别实行;
                • X 可以启动多个,各个 X 表现的地位运用 -display 来处置,表现地位为 :0, :1...
                • Xorg 是一个 X server ,设定档位于 /etc/X11/xorg.conf ,外面含有 Module, Files, Monitor, Device 等设定阶段
                • 字型办理为 X server 的重点,现在字型办理可由 xfs 及 fontconfig 来处置
                 
                大标题的图示本章习题
                ( 要看答案请将滑鼠挪动到‘答:’底下的空缺处,按下左键圈选空缺处即可观察 )
                • 在 X 设定没题目的状况下,你在 Linux 主机怎样获得视窗介面?
                  假如是在 run level 3 ,可以运用 startx 进入,至于 run level 5 ,则间接进入 tty7 即可运用 display manager 登入 X Window 零碎。
                • 应用 startx 可以在 run level 3 的情况下进入 X Window 零碎。叨教 startx 的次要功用?
                  整个 X 视窗零碎的重点在启动 X server 并载入 X client ,而实行 X server/X client 呼唤的义务为 xinit ,startx 只是一个较为亲和的剧本顺序,可以搜索零碎下面的 X server / X client 设定值, 以提供 xinit 来实行罢了。
                • 怎样晓得你零碎当中 X 零碎的版本与方案?
                  最复杂可以应用 root 的身份下达 X -version 即可晓得!
                • 要理解为何 X 零碎可以容许差别硬体、主机、作业零碎之间的相同,需求晓得 X server / X client 的相干知识。 叨教 X Server / X client / Window manager 的次要用处功用?
                  X Server 次要担任荧幕的绘制,以及周边输出安装如滑鼠、键盘等材料的搜集,并报答给 X Client ; X Client 次要担任材料的运算,收到来自 X Server 的材料后,加以运算失掉图形的数据,并回传给 X Server, 让 X server 自行绘制图形。至于 Window manager 是一个比拟特别的 X Client ,他可以办理更多控制元素, 最紧张的中央照旧在于视窗的巨细、堆叠、挪动等等的功用。
                • 怎样重新启动 X
                  最复杂在 X Window System 下,间接按下 [alt]+[ctrl]+[backspace<--] 即可, 也可以 init 3 再 init 5,也可以封闭 X 后,再 startx 启动等等。
                • 试阐明 ~/.xinitrc 这个文件的用处?
                  当我们要启动 X 时,必需要启动 X Client 软件端。这个 ~/.xinitrc 便是在客制化本人的 X Client , 你可以在这个文件内输出你本人的 X Client 。若无此文件,则预设以 /etc/X11/xinit/xinitrc 替换。
                • 我在 CentOS 的零碎中,预设运用 GNOME 登入 X 。但我想要改以 KDE 登入,该怎样办?
                  起首你必需要曾经装置 KDE 情况 (参考前一章的 yum grouplist 功用),然后可以藉由修正 /etc/sysconfig/desktop 内的设定值即可。但假如你不是 root 无法修订该文件时, 亦可以在本人的家目次参考 /etc/X11/xinit/xinitrc 的内容自行制造 ~/.xinitrc 文件来修正!
                • X Server 的 port 预设开放在?
                  X port 预设开放在 port 6000 ,并且称此一表现为 :0
                • Linux 主机能否可以有两个以上的 X
                  是的!可以!第一个 X 通常在 tty7 ,第二个在 tty8 ,第三个在 tty9 ,依序类推。 第几个因此启动的次序来界说,并非 :0 , :1 的意思~
                • X Server 的设定档是 xorg.conf,在该文件中, Section Files 干嘛用的?
                  相称紧张!是设定表现字型用的。而字型普通安排目次在 /usr/lib/xorg/modules/fonts/ 当中。
                • 我发明我的 X 零碎键盘所输出的字母总是打不出我所需求的单字,能够缘由该怎样修订?
                  应该是键盘标记对应表跑失了。可以修正 xorg.conf 文件内, 关于 Keyboard 的 Option XkbLayout 项目,将他改为 us 即可!
                • 当我的零碎内有装置 GNOME 及 KDE 两个 X Widnow Manager ,我本来因此 KDE 为预设的 WM, 若想改为 GNOME 时,应该怎样修正?
                  修正 /etc/sysconfig/desktop 外部,成为 GNOME 即可!

                大标题的图示参考材料与延伸阅读

                2003/02/12:第一次完成
                2005/06/29:将旧的文章挪动到 这里 。假如你需求旧版的 xf86config 与相干的东西,则请前去该旧文章查阅!
                2005/07/11:阅历了很多的工夫,将主机的设定档反复改了改,终于完成一些复杂的 X 测试!
                2006/11/07:经过网友x1215 这一篇的引见,得知该网站,赶忙行止理!
                2009/07/03:将旧版基于 FC4 的版本挪动到此处
                2009/07/15:奋战好几天,将驱动顺序装置加上,同时参加字型办理功用。
                2009/07/28:网友 LazyBug Chan 兄热情报答,运用 XFCE 的 Ubuntu 是 Xubuntu 这个分支!感激报答!
                2009/08/07:参加 Window Manger 的全名与保持



                 
                     
                中国存储网 ChinaStor.com排版整理
                原文作者鸟哥,主页,更多Linux学习材料在线看:Linux零碎办理员手册 - Linux下令大全 - Linux挪用大全- Linux专栏 - 国产Linux