萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 設置和修改X

設置和修改X

class="22304"> 許可證:;

本文檔的發布遵循;DGPL,;任何人有權免費獲得,;閱覽,;
轉載和發布本文檔,;不得用於任何形式的商業用途.;

本文檔現在由;Rocky;S.;Lee;進行維護,;任何人可以對;
其中存在的遺漏,;錯誤進行修改和指正.;修改者名單將列於;
本文檔的作者名後.;


簡短說明:;

本文檔的主要目的在於介紹手動配置;Linux;下;XF86;的配置方法,;主要是關;
於如何通過修改;XF86Config;文件調整顯示器在圖形模式下的顯示分辨率和顏色;
深度,;以及如何通過建立符號連接修改;X;Server.;另外提到一些跟圖形界面有關;
的網友常問問題.;文中對於如何使用軟件工具做相應的沒有過多提及,;希望會在;
以後的版本中加入和軟件修改方法之間的聯系和差別.;

本文檔修改版本將在今後進行發布,;關注本文檔的;Linux;用戶可以敬請留意;
以下站點:;

華南木棉;BBS;bbs.gznet.edu.cn;
中國;Linux;論壇;www.linuxforum.net;
西十八;BBS;bbs.x18.scut.edu.cn;

一.;X;Window;工作方式略談;

(如果你之關心如何對;X;Widow;進行設置,;可以跳過這一節.;只是理解這一;
節所講的知識對於理解下面的各設置步驟有一定幫助);

X;Window;的工作方式跟;Microsoft;Windows;有著本質的不同.;MS;Windows;
的圖形用戶界面;(GUI);是跟系統緊密相聯的.;而;X;Window;則不是,;它實際上是;
在系統核心;(kernel);的上面運行的一個應用程序.;

X;Window;的運行分為四層.;最底層的是;X;Server(服務器),;提供圖形界面;
的驅動,;為;X;Window;提供服務.;上面的一層是用於網上通信的網絡協議;--;X;
網絡協議.;這部分使遠程運行;X;Window;成為可能.;只需要在服務器上運行一個;
X;Server,;而客戶機;(Client);上運行更上一層的程序,;則可以實現;X;Widow;的;
遠程運行.;再往上的一層是稱作;Xlib;的低層函數接口,;介於網絡和和基礎系統;
於較高層的程序之間.;應用程序的實現是通過調用這一層的函數實現的.;最頂層;
就是管理窗口的窗口管理器了,;也就是一般所說的;WM;(Window;Manager).;在這;
一層的軟件是用戶都比較常接觸的,;比如;fvwm,;AfterStep,;Enlightment;以及;
WindowMaker;等等.;

從上面的介紹來看,;X;Window;的運行是一種客戶機/服務器(Client/Server);
的模式,;服務器用於顯示客運的應用程序,;又被稱為顯示服務器(Display;Server);
顯示服務器位於硬件和客戶機之間,;它跟蹤所有來自輸入設備比如鍵盤,;鼠標的;
輸入動作,;經過處理後將其送回客戶機.;這樣,;使用戶甚至可以在;MS;Windows;
的機器上運行;X;Client,;截取並傳送用戶的輸入,;只是將;X;Window;的屏幕輸出;
顯示在用戶的屏幕上.;客戶機的輸入和輸出系統跟;X;服務器之間的通信都是遵守;
X;協議的.;

由於本文檔的主要目的在於介紹如何設置,;因此對;X;Window;不再作進一步的;
介紹.;更詳細的資料可以參考有關的;HOWTO,;man;頁等等.;

二.;關於;X;Window;的設置;

1.;X;Server;

在;Linux;下,;這些服務器的程序是存放在;/usr/X11R6/bin/;下面,;並且都由;
XF86_;打頭,;一般來說,;會提供單顯;Mono,;標准;VGA;和;SVGA;的驅動,;分;
別命名為:;XF86_Mono,;XF86_VGA16;和;XF86_SVGA,;另外可能還會有;S3;和其他一;
些帶有圖形加速功能的顯卡的驅動.;下面是作者本人機器上運行的;RedHat;Linux;
6.1;中所帶有的;X;Server;驅動:;

XF86_3DLabs;XF86_Mono;XF86_I128;XF86_VGA16;
XF86_P9000;XF86_8514;XF86_Mach32;XF86_S3;
XF86_W32;XF86_AGX;XF86_Mach64;XF86_S3V;
XF86_FBDev;XF86_Mach8;XF86_SVGA;

如果你的;/usr/X11R6/bin;下面沒有上面某個文件或者多了某個文件,;不必在;
意,;這主要決定於你的機器的硬件.;其實一般只需要跟自己硬件相配套的驅動即可.;
比如作者正在使用的機器上使用的是;3D;Lab;Permedia;II;的芯片的顯示卡,;因此;
只有;XF86_3DLabs;是有作用的.;

如此之多種類的顯示適配器驅動程序,;系統當然需要一個固定和統一的方法去;
訪問它,;一般說來,;系統是使用一個名為;X;的符號連接去訪問具體的;X;Server;的.;
這個;X;也同樣是存在於;/usr/X11R6/bin/;目錄中,;可以使用如下命令打印他的具;
體指向:;

ls;-l;/usr/X11R6/bin/X;

得到的結果如:;

lrwxrwxrwx;1;root;root;8;Dec;14;03:40;
/usr/X11R6/bin/X;->;XF86_3DLab;

前面的屬性;"lrwxrwxrwx";中第一個字母;l;表示它是一個連接,;在最後由箭頭;
指出它所指向的具體目標.;(這裡的換行是為了閱讀的方便);

明白了這個,;在以後需要更換;X;Server;的時候就可以通過改變這個聯系來實現;
了,;具體命令如下:;

ln;-sf;/usr/X11R6/bin/X???????;/usr/X11R6/bin/X;

其中問號代表的字母根據具體情況決定.;有些時候,;由於這個連接不正確,;導致;
無法運行;X;Window,;這時可以使它指向;XF86_VGA16,;使用;16;色的;VGA;模式進入;
X;Window,;注意如果需要運行;XF86Setup;程序;(是個圖形界面的;X;Window;配置工;
具程序),;那麼這個;XF86_VGA16;驅動一定要存在,;這是由於該驅動所提供的顯示模式;
是一般顯示卡和顯示器都支持的,;故該配置程序使用此;X;Server;為驅動.;當用戶的;
顯卡是比較特殊的型號時,;需要裝特定的驅動程序,;也需要作此工作.;

驅動程序的獲得有多種途徑,;一般的;Linux;發行版本都提供了豐富的驅動程序,;
可以滿足大部分要求,;比較特殊的驅動程序,;可以在網上獲得.;當然現在;Linux;對硬;
件的支持還不是很完善,;但這已經超出了本文檔的訪問,;不在作更多的表述.;

2.;顯示模式;

顯示模式包括分辨率,;掃描頻率,;色深等等.;這也是網友在顯示方面提問最多的;
一個問題.;對於現在的顯示卡和顯示器,;一般都可以使用;1024;x;768;x;16;bit;色的;
顯示模式.;當然保險起見,;在使用下面所敘述的方法設置您所使用的顯示模式的時候,;
請確定您的顯示卡和顯示器能夠達到該模式的要求,;否則可能會有損壞硬件的危險.;

在各發行版本中,;都會提供一些設置;X;Window;的工具軟件,;如;Xconfigurator,;
XF86Setup,;XF86Config;等等,;這些程序無一例外的是提供了一個修改;X;Window;的;
配置文件;XF86Config;的簡便方法.;當然使用起來比較方便,;但是對於一些需要靈活;
調整的場合就不是非常適合,;需要手動調整配置文件中的參數達到最好效果.;您不必;
一定這樣做,;這裡只是介紹這樣一種方法,;使您可以在有疑問的時候方便地解決.;

一般這個文件是存在於;/usr/X11R6/lib/X11/;目錄下,;在;/etc;或者;/etc/X11;
目錄中有它的一個符號連接.;它是一個文本文件,;可以使用;vi;對它進行修改.;下面;
對該文件中各部分的作用做個詳細的介紹.;(如有遺漏,;歡迎提出);

在這個文件中有這樣幾個概念:;段;(Section);和子段;(Subsection).;每個段或;
子段分別給出了不同的參數,;格式分別為:;

Section;
......;
Endsection;

Section;
Subsection;
......;
Endsubsection;
Endsection;

一個完整的配置文件中包含六個段,;分別是;File;(文件),;SeverFlag;(服務器特;
殊標志),;Keyboard;(鍵盤),;Pointer;(指示設備,;一般是鼠標),;Monitor;(監視器),;
Device;(顯示適配器,;即顯卡),;Screen;(屏幕設置信息).;

File;段:;這一段指示出一些運行;X;Window;所需要的文件的位置,;比如顏色的別;
名文件;rgb.txt;(注意這裡是不需要寫出該文件的擴展名),;比如:;

RgbPath;"/usr/X11R6/lib/X11/rgb";

如果您看過;/usr/X11R6/lib/X11/rgb.txt;的內容,;你會很容易的知道它是;
干什麼用的.;有了它,;你可以使用;red1;代表;RGB;顏色值;255;0;0;等等.;

接下來是字體文件的路徑,;這裡的設置將影響到中文字體的輸出.;這裡對路;
徑的設置可以是多個,;例如下面的這樣:;

FontPath;"unix/:-1";
FontPath;"/usr/share/zhfont/X11:unscaled";
FontPath;"/usr/share/zhfont/TTF";
FontPath;"/usr/X11R6/lib/X11/fonts/local";
FontPath;"/usr/X11R6/lib/X11/fonts/chinese";
FontPath;"/usr/X11R6/lib/X11/fonts/TTF";
FontPath;"/usr/X11R6/lib/X11/fonts/Type1";
FontPath;"/usr/X11R6/lib/X11/fonts/Speedo";
FontPath;"/usr/X11R6/lib/X11/fonts/misc";
FontPath;"/usr/X11R6/lib/X11/fonts/75dpi";
FontPath;"/usr/X11R6/lib/X11/fonts/100dpi";

在使用一個字體目錄之前,;需要使用;mkfontdir;命令把一條路徑中的字體;
作個列表,;在該目錄中生成;font.dir;作為對字體的索引,;如:;

mkfontdir;/usr/X11Ry/lib/X11/fonts/100dpi;

具體該命令的用法,;請使用;man;命令查看其;man;page;(手冊頁),;或者會;
在本文檔的後續版本中提供詳細的說明.;

ServerFlag;段:;這個段指明了一些具體的參數,;如下:;

NoTrapSignals;這個標志將使調試信號對;X;Server;不起作用.;調試信;
號會使;X;Server;"轉儲核心",;把內存中有關的;X;Server;的信息存儲;
到硬盤上,;即所謂的;"Core;dump".;這樣的目的是便於對;X;Server;進;
行調試.;

DontZap;這個標志將使;X;Server;收到;"Ctrl;+;Alt;+;Back;Space";鍵;
組合發出的信號時;*不*;停止工作.;當然一般是不建議使用的.;

DontZoom;這個標志使;X;Window;不能在各種圖形模式之間進行切換.;X;
Window;的缺省狀態是在用戶設定了多組分辨率,;刷新頻率和顏色的
copyright © 萬盛學電腦網 all rights reserved