文章詳情頁
設(shè)置和修改X-Window的顯示模式
瀏覽:130日期:2024-01-30 15:51:58
許可證:; 本文檔的發(fā)布遵循;DGPL,;任何人有權(quán)免費獲得,;閱覽,; 轉(zhuǎn)載和發(fā)布本文檔,;不得用于任何形式的商業(yè)用途.; 本文檔現(xiàn)在由;Rocky;S.;Lee;進(jìn)行維護,;任何人可以對; 其中存在的遺漏,;錯誤進(jìn)行修改和指正.;修改者名單將列于; 本文檔的作者名后.; 簡短說明:; 本文檔的主要目的在于介紹手動配置;Linux;下;XF86;的配置方法,;主要是關(guān); 于如何通過修改;XF86Config;文件調(diào)整顯示器在圖形模式下的顯示分辨率和顏色; 深度,;以及如何通過建立符號連接修改;X;Server.;另外提到一些跟圖形界面有關(guān); 的網(wǎng)友常問問題.;文中對于如何使用軟件工具做相應(yīng)的沒有過多提及,;希望會在; 以后的版本中加入和軟件修改方法之間的聯(lián)系和差別.; 本文檔修改版本將在今后進(jìn)行發(fā)布,;關(guān)注本文檔的;Linux;用戶可以敬請留意; 以下站點:; 華南木棉;BBS;bbs.gznet.edu.cn; 中國;Linux;論壇;www.linuxforum.net; 西十八;BBS;bbs.x18.scut.edu.cn; 一.;X;Window;工作方式略談; (如果你之關(guān)心如何對;X;Widow;進(jìn)行設(shè)置,;可以跳過這一節(jié).;只是理解這一; 節(jié)所講的知識對于理解下面的各設(shè)置步驟有一定幫助); X;Window;的工作方式跟;Microsoft;Windows;有著本質(zhì)的不同.;MS;Windows; 的圖形用戶界面;(GUI);是跟系統(tǒng)緊密相聯(lián)的.;而;X;Window;則不是,;它實際上是; 在系統(tǒng)核心;(kernel);的上面運行的一個應(yīng)用程序.; X;Window;的運行分為四層.;最底層的是;X;Server(服務(wù)器),;提供圖形界面; 的驅(qū)動,;為;X;Window;提供服務(wù).;上面的一層是用于網(wǎng)上通信的網(wǎng)絡(luò)協(xié)議;--;X; 網(wǎng)絡(luò)協(xié)議.;這部分使遠(yuǎn)程運行;X;Window;成為可能.;只需要在服務(wù)器上運行一個; X;Server,;而客戶機;(Client);上運行更上一層的程序,;則可以實現(xiàn);X;Widow;的; 遠(yuǎn)程運行.;再往上的一層是稱作;Xlib;的低層函數(shù)接口,;介于網(wǎng)絡(luò)和和基礎(chǔ)系統(tǒng); 于較高層的程序之間.;應(yīng)用程序的實現(xiàn)是通過調(diào)用這一層的函數(shù)實現(xiàn)的.;最頂層; 就是管理窗口的窗口管理器了,;也就是一般所說的;WM;(Window;Manager).;在這; 一層的軟件是用戶都比較常接觸的,;比如;fvwm,;AfterStep,;Enlightment;以及; WindowMaker;等等.; 從上面的介紹來看,;X;Window;的運行是一種客戶機/服務(wù)器(Client/Server); 的模式,;服務(wù)器用于顯示客運的應(yīng)用程序,;又被稱為顯示服務(wù)器(Display;Server); 顯示服務(wù)器位于硬件和客戶機之間,;它跟蹤所有來自輸入設(shè)備比如鍵盤,;鼠標(biāo)的; 輸入動作,;經(jīng)過處理后將其送回客戶機.;這樣,;使用戶甚至可以在;MS;Windows; 的機器上運行;X;Client,;截取并傳送用戶的輸入,;只是將;X;Window;的屏幕輸出; 顯示在用戶的屏幕上.;客戶機的輸入和輸出系統(tǒng)跟;X;服務(wù)器之間的通信都是遵守; X;協(xié)議的.; 由于本文檔的主要目的在于介紹如何設(shè)置,;因此對;X;Window;不再作進(jìn)一步的; 介紹.;更詳細(xì)的資料可以參考有關(guān)的;HOWTO,;man;頁等等.; 二.;關(guān)于;X;Window;的設(shè)置; 1.;X;Server; 在;Linux;下,;這些服務(wù)器的程序是存放在;/usr/X11R6/bin/;下面,;并且都由; XF86_;打頭,;一般來說,;會提供單顯;Mono,;標(biāo)準(zhǔn);VGA;和;SVGA;的驅(qū)動,;分; 別命名為:;XF86_Mono,;XF86_VGA16;和;XF86_SVGA,;另外可能還會有;S3;和其他一; 些帶有圖形加速功能的顯卡的驅(qū)動.;下面是作者本人機器上運行的;RedHat;Linux; 6.1;中所帶有的;X;Server;驅(qū)動:; 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;下面沒有上面某個文件或者多了某個文件,;不必在; 意,;這主要決定于你的機器的硬件.;其實一般只需要跟自己硬件相配套的驅(qū)動即可.; 比如作者正在使用的機器上使用的是;3D;Lab;Permedia;II;的芯片的顯示卡,;因此; 只有;XF86_3DLabs;是有作用的.; 如此之多種類的顯示適配器驅(qū)動程序,;系統(tǒng)當(dāng)然需要一個固定和統(tǒng)一的方法去; 訪問它,;一般說來,;系統(tǒng)是使用一個名為;X;的符號連接去訪問具體的;X;Server;的.; 這個;X;也同樣是存在于;/usr/X11R6/bin/;目錄中,;可以使用如下命令打印他的具; 體指向:; ls;-l;/usr/X11R6/bin/X; 得到的結(jié)果如:; lrwxrwxrwx;1;root;root;8;Dec;14;03:40; /usr/X11R6/bin/X;->;XF86_3DLab; 前面的屬性;'lrwxrwxrwx';中第一個字母;l;表示它是一個連接,;在最后由箭頭; 指出它所指向的具體目標(biāo).;(這里的換行是為了閱讀的方便); 明白了這個,;在以后需要更換;X;Server;的時候就可以通過改變這個聯(lián)系來實現(xiàn); 了,;具體命令如下:; ln;-sf;/usr/X11R6/bin/X???????;/usr/X11R6/bin/X; 其中問號代表的字母根據(jù)具體情況決定.;有些時候,;由于這個連接不正確,;導(dǎo)致; 無法運行;X;Window,;這時可以使它指向;XF86_VGA16,;使用;16;色的;VGA;模式進(jìn)入; X;Window,;注意如果需要運行;XF86Setup;程序;(是個圖形界面的;X;Window;配置工; 具程序),;那么這個;XF86_VGA16;驅(qū)動一定要存在,;這是由于該驅(qū)動所提供的顯示模式; 是一般顯示卡和顯示器都支持的,;故該配置程序使用此;X;Server;為驅(qū)動.;當(dāng)用戶的; 顯卡是比較特殊的型號時,;需要裝特定的驅(qū)動程序,;也需要作此工作.; 驅(qū)動程序的獲得有多種途徑,;一般的;Linux;發(fā)行版本都提供了豐富的驅(qū)動程序,; 可以滿足大部分要求,;比較特殊的驅(qū)動程序,;可以在網(wǎng)上獲得.;當(dāng)然現(xiàn)在;Linux;對硬; 件的支持還不是很完善,;但這已經(jīng)超出了本文檔的訪問,;不在作更多的表述.; 2.;顯示模式; 顯示模式包括分辨率,;掃描頻率,;色深等等.;這也是網(wǎng)友在顯示方面提問最多的; 一個問題.;對于現(xiàn)在的顯示卡和顯示器,;一般都可以使用;1024;x;768;x;16;bit;色的; 顯示模式.;當(dāng)然保險起見,;在使用下面所敘述的方法設(shè)置您所使用的顯示模式的時候,; 請確定您的顯示卡和顯示器能夠達(dá)到該模式的要求,;否則可能會有損壞硬件的危險.; 在各發(fā)行版本中,;都會提供一些設(shè)置;X;Window;的工具軟件,;如;Xconfigurator,; XF86Setup,;XF86Config;等等,;這些程序無一例外的是提供了一個修改;X;Window;的; 配置文件;XF86Config;的簡便方法.;當(dāng)然使用起來比較方便,;但是對于一些需要靈活; 調(diào)整的場合就不是非常適合,;需要手動調(diào)整配置文件中的參數(shù)達(dá)到最好效果.;您不必; 一定這樣做,;這里只是介紹這樣一種方法,;使您可以在有疑問的時候方便地解決.; 一般這個文件是存在于;/usr/X11R6/lib/X11/;目錄下,;在;/etc;或者;/etc/X11; 目錄中有它的一個符號連接.;它是一個文本文件,;可以使用;vi;對它進(jìn)行修改.;下面; 對該文件中各部分的作用做個詳細(xì)的介紹.;(如有遺漏,;歡迎提出); 在這個文件中有這樣幾個概念:;段;(Section);和子段;(Subsection).;每個段或; 子段分別給出了不同的參數(shù),;格式分別為:; Section; ......; Endsection; Section; Subsection; ......; Endsubsection; Endsection; 一個完整的配置文件中包含六個段,;分別是;File;(文件),;SeverFlag;(服務(wù)器特; 殊標(biāo)志),;Keyboard;(鍵盤),;Pointer;(指示設(shè)備,;一般是鼠標(biāo)),;Monitor;(監(jiān)視器),; Device;(顯示適配器,;即顯卡),;Screen;(屏幕設(shè)置信息).; File;段:;這一段指示出一些運行;X;Window;所需要的文件的位置,;比如顏色的別; 名文件;rgb.txt;(注意這里是不需要寫出該文件的擴展名),;比如:; RgbPath;'/usr/X11R6/lib/X11/rgb'; 如果您看過;/usr/X11R6/lib/X11/rgb.txt;的內(nèi)容,;你會很容易的知道它是; 干什么用的.;有了它,;你可以使用;red1;代表;RGB;顏色值;255;0;0;等等.; 接下來是字體文件的路徑,;這里的設(shè)置將影響到中文字體的輸出.;這里對路; 徑的設(shè)置可以是多個,;例如下面的這樣:; 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;(手冊頁),;或者會; 在本文檔的后續(xù)版本中提供詳細(xì)的說明.; ServerFlag;段:;這個段指明了一些具體的參數(shù),;如下:; NoTrapSignals;這個標(biāo)志將使調(diào)試信號對;X;Server;不起作用.;調(diào)試信; 號會使;X;Server;'轉(zhuǎn)儲核心',;把內(nèi)存中有關(guān)的;X;Server;的信息存儲; 到硬盤上,;即所謂的;'Core;dump'.;這樣的目的是便于對;X;Server;進(jìn); 行調(diào)試.; DontZap;這個標(biāo)志將使;X;Server;收到;'Ctrl;+;Alt;+;Back;Space';鍵; 組合發(fā)出的信號時;*不*;停止工作.;當(dāng)然一般是不建議使用的.; DontZoom;這個標(biāo)志使;X;Window;不能在各種圖形模式之間進(jìn)行切換.;X; Window;的缺省狀態(tài)是在用戶設(shè)定了多組分辨率,;刷新頻率和顏色的組; 合的情況下,;運行;X;Window;的過程中可以通過;Ctrl;+;'+';和;Ctrl;+;'-';兩組鍵的組合在多個圖形模式之間進(jìn)行動態(tài)切換.; Keyboard;段:;這個段指明了;X;Window;環(huán)境中所使用的鍵盤映射以及其他一些參; 數(shù).;如下是作者的鍵盤配置:; Section;'Keyboard'; Protocol;'Standard'; AutoRepeat;500;5;#;指定延遲;(delay);和;速率;(rate); #;這里的設(shè)定分別為;500;和;0; LeftAlt;Meta; RightAlt;Meta;#;使用左右;Alt;鍵作;Meta;鍵.; #;關(guān)于;Meta;鍵,;希望以后能夠補充完整; ScrollLock;Compose; RightCtl;Control; XkbKeycodes;'xfree86'; XkbTypes;'default'; XkbCompat;'default'; XkbSymbols;'us(pc101)'; XkbGeometry;'pc'; XkbRules;'xfree86'; XkbModel;'pc101'; XkbLayout;'us'; EndSection; 這段設(shè)置出了;XkbLayout;會影響鍵盤各按鍵的表現(xiàn)以外,;其他都只是一些功; 能上的設(shè)置,;沒有太大影響.;在控制臺模式下,;可以通過;Alt;+;F?;在各虛; 擬終端間進(jìn)行切換,;在;X;Widow;環(huán)境下,;必須使用;Ctrl;+;Alt;+;F?;才能; 夠達(dá)到這一效果.; 對于本段以及下面的;Pointer;段,;由于本人經(jīng)驗和所知的限制不能完整地講; 述,;會在不久以后作進(jìn)一步補充.;并在此向各位表示歉意.; Pointer;段:;如前所述,;這個段是設(shè)置鼠標(biāo)等設(shè)備的.;如下舉例是作者的鼠標(biāo)設(shè); 置:; Section;'Pointer'; Protocol;'PS/2'; Device;'/dev/mouse'; #;下面這兩個參數(shù)是一些采用磁技術(shù)的鼠標(biāo)所需要的,;一般注釋掉或者刪除; #;BaudRate;9600; #;SampleRate;150; #;下面的兩個參數(shù)是為方便使用雙鍵鼠標(biāo)的用戶使用三鍵鼠標(biāo)而設(shè)置的; #;當(dāng)選擇了虛擬三鍵的時候,;可以通過同時點擊鼠標(biāo)左右鍵完成中鍵的功能; Emulate3Buttons; Emulate3Timeout;50; #;下面這個參數(shù)也是為磁金屬鼠標(biāo)所設(shè)定的; #;ChordMiddle; EndSection; Mornitor;段:;這個段的設(shè)置需要參考顯示器的用戶手冊,;以便獲得相關(guān)的數(shù)據(jù),; 防止損壞顯示器.;這個段是我改動最多的,;現(xiàn)舉例描述如下:; Section;'Monitor'; Identifier;'Samsung;SyncMaster;500s/500Ms'; #;監(jiān)視器標(biāo)示符,;在下面;Screen;段用作標(biāo)示; #;這個參數(shù)的設(shè)置對顯示器的模式?jīng)]有直接影響,;只要保證跟后面; #;Screen;段的引用保持一致; VendorName;'Unknown'; #;生產(chǎn)廠家的名稱; ModelName;'Unknown'; #;制造和型號的標(biāo)示,;并不重要; #;在使用;Xconfigurator;的時候,;如果不提供上述值,;則填寫; #;'Unknown'; #;下面這兩個參數(shù)在設(shè)置顯示模式上來書哦是比較重要的.; #;HorizSync;是水平掃描頻率,;kHz;為單位.; HorizSync;50-60; #;VertRefresh;是垂直掃描頻率,;Hz;為單位; VertRefresh;80-100; #;上面這兩個參數(shù)可以是列舉的形式,;也可以是范圍的形式.; #;比如:;列舉:;75;85;100; #;范圍:;如上所述; #;接下來是模式的描述了,;如果您使用的是;TurboLinux;或者是; #;RedHat;Linux,;下面的模式列表將會非常的完整.;但;Slackware; #;沒有提供完整的列表,;這些數(shù)據(jù)可以在顯示器的說明書上見到.; #;為節(jié)省空間,;這里僅列舉一條; #;800x600;@;85;Hz,;55.84;kHz;hsync; Modeline;'800x600';60.75;800;864;928;1088;600;616;621;657;-HSync;-VSync; #;或者寫成以下形式,;為;Slackware;采用; #;Mode;'800x600'; #;DotClock;45; #;HTimings;1024;1048;1208;1264; #;VTimings;768;776;784;817; #;Flags;'Interlace'; #;EndMode; Endsection; 這里來講講上面的;ModeLine;的涵義.;就象第二種形式所描述的那樣,;這些; 參數(shù)是使用;'800x600x85Hz';模式所需要的.;要設(shè)置顯示為這種模式,;首先; 要保證水平掃描頻率和垂直掃描頻率要配合好,;即;VertRefresh;的范圍或列; 舉值中要包括;85;Hz,;而;HorizSync;的值需要包括;55.84;kHz.;這些都可以; 通過手工調(diào)整.;然后需要看看打點頻率.;有些顯示器有這個參數(shù)提供,;而另; 外一些可能檢測不到,;這時需要查看手冊.;打點頻率的值可以不提供,;這點; 在下面會有講述.; 注意,;這里的;'800x600';就是這種模式的標(biāo)示.;等到下面談到模式的設(shè)置順; 序就會清楚;X;Window;是如何設(shè)置的了.; Device;段:;這里主要記錄了顯卡的數(shù)據(jù),;如下可以看到,;很簡單,;只有顯存的大; 小和顯卡的時鐘頻率.;這個時鐘頻率是用來產(chǎn)生視頻信號,;而顯示器的掃描; 頻率也是根據(jù)這個信號產(chǎn)生的.;所以不要為了追求高分辨率和高刷新頻率把; 它調(diào)得太高,;否則可能會損傷顯示器.;一般在顯示器的說明書上會有這個值,; 如果沒有,;建議不要超過;50.; Section;'Device'; Identifier;'Generic;VGA'; VendorName;'Unknown'; BoardName;'Unknown'; Chipset;'generic'; #;VideoRam;256; #;Clocks;25.2;28.3; EndSection; 注意:;上面所說的兩個段都可以對多個設(shè)備進(jìn)行描述,;系統(tǒng)會用;Identifier; 的值區(qū)分不同的設(shè)備.; Screen;段:;X;Window;的顯示模式的選擇就是記錄在這個段中的.;如果是;RedHat; 則會有所有四種;(Mono,;VGA16,;SVGA,;Accelerate);X;Server;的段,;如果; 是;Slackware,;則可能會只有一個段,;就是對應(yīng)安裝系統(tǒng)的時候指定的顯示; 設(shè)備的.; 下面以我使用的;accel;X;Server;說說各字段的涵義.; Section;'Screen'; Driver;'accel'; #;這個不用解釋了吧,;是;Permedia;II;顯卡,;所以使用加速的驅(qū)動; #;這里的可能值是'vga2',;'vga16',;'svga',;'accel',;根據(jù)自己; #;的實際情況設(shè)定.;這里跟;前面講;X;Server;時所說的;X;的連接; #;目標(biāo)有關(guān)系,;我想這不難連接吧.; Device;'3DLabs|Permedia;II;2D+3D'; #;上面制定的顯卡配制,;用;'3DLabs|Permedia;II;2D+3D';作為; #;Identifier;的.;當(dāng)然我可以使用自己喜歡的名字,;實際這里只是; #;個標(biāo)記的作用; Monitor;'Samsung;SyncMaster;500s/500Ms'; #;這里的解釋同;Device,;也是使用上面的;Identifier;的設(shè)定值; Subsection;'Display'; #;顯示子段,;可以有多個,;分別對應(yīng)不同的色深,;即下面的;Depth; Depth;16; Modes;'800x600'; #;所取的顯示模式;這個值就是根據(jù)前面的;ModeLine;上面; #;的注釋寫的,;可以有多個,;用空格分開; #;這里需要說明的是,;X;Server;先檢查這里的分辨率設(shè)置,; #;然后根據(jù)這個設(shè)置和上面標(biāo)示的垂直和水平刷新頻率決; #;定使用哪個;ModeLine,;如果在刷新頻率的范圍內(nèi)有多種; #;Mode;可以選擇,;那么可以通過使用;Ctrl;+;'+'/'-'進(jìn); #;行動態(tài)切換.; ViewPort;0;0; #;這個是視圖的左上角坐標(biāo); #;如果想用虛擬大小的屏幕,;可以在這里加上一句; #Virtual;1024;768; #;這樣的話,;就可以使用大于當(dāng)前實際屏幕的虛擬屏幕了,; #;屏幕會隨這鼠標(biāo)的移動而轉(zhuǎn)換.;當(dāng)然,;要保證有足夠的; #;顯存才行,;虛擬的屏幕大小要比實際的設(shè)定大..; EndSubsection; #;在這下面可以再加上;Depth;分別為;8;和;24;的子段,;格式和上; #;面一樣.; EndSection; 當(dāng)然,;如果發(fā)現(xiàn)所選的設(shè)備驅(qū)動根實際的硬件設(shè)備不相符,;還可以重新安裝; 驅(qū)動程序.如何在;Linux;下面安裝軟件,;我想就不再詳細(xì)介紹了.;介紹這方; 面知識的資料很多.; 本文檔將繼續(xù)更新,;目標(biāo)是成為一個簡單的;X;Window;入門的手冊.;如果發(fā)現(xiàn)有; 錯誤或者遺漏,;請于我聯(lián)系.;
標(biāo)簽:
Windows系統(tǒng)
排行榜
