GRUB version 0.5.96.1 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename. ]
grub> root (hd0, (tab,按tab一下鍵) Possible partitions are: Partition num: 0, Filesystem type is fat, partition type 0x6 Partition num: 2, Filesystem type is ext2fs, partition type 0x83 Partition num: 4, Filesystem type unknown, partition type 0x7 Partition num: 5, Filesystem type is ext2fs, partition type 0x83 Partition num: 6, Filesystem type is fat, partition type 0xb Partition num: 7, Filesystem type is fat, partition type 0xb Partition num: 8, Filesystem type is ext2fs, partition type 0x83 Partition num: 9, Filesystem type unknown, partition type 0x82
本文檔的主要目的在于介紹手動配置 Linux 下 XF86 的配置方法, 主要是關(guān)于如何通過修改 XF86Config 文件調(diào)整顯示器在圖形模式下的顯示分辨率和顏色深度, 以及如何通過建立符號連接修改 X Server. 另外提到一些跟圖形界面有關(guān)的網(wǎng)友常問問題.
一. 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 則不是,它實(shí)際上是在系統(tǒng)核心 (kernel) 的上面運(yùn)行的一個應(yīng)用程序.
X Window 的運(yùn)行分為四層. 最底層的是 X Server(服務(wù)器), 提供圖形界面的驅(qū)動, 為 X Window 提供服務(wù). 上面的一層是用于網(wǎng)上通信的網(wǎng)絡(luò)協(xié)議 -- X 網(wǎng)絡(luò)協(xié)議. 這部分使遠(yuǎn)程運(yùn)行 X Window 成為可能. 只需要在服務(wù)器上運(yùn)行一個 X Server, 而客戶機(jī) (Client) 上運(yùn)行更上一層的程序, 則可以實(shí)現(xiàn) X Widow 的遠(yuǎn)程運(yùn)行. 再往上的一層是稱作 Xlib 的低層函數(shù)接口, 介于網(wǎng)絡(luò)和和基礎(chǔ)系統(tǒng)于較高層的程序之間. 應(yīng)用程序的實(shí)現(xiàn)是通過調(diào)用這一層的函數(shù)實(shí)現(xiàn)的. 最頂層就是管理窗口的窗口管理器了, 也就是一般所說的 WM (Window Manager). 在這一層的軟件是用戶都比較常接觸的, 比如 fvwm, AfterStep, Enlightment 以及WindowMaker 等等.
從上面的介紹來看, X Window 的運(yùn)行是一種客戶機(jī)/服務(wù)器(Client/Server)的模式, 服務(wù)器用于顯示客運(yùn)的應(yīng)用程序, 又被稱為顯示服務(wù)器(Display Server)顯示服務(wù)器位于硬件和客戶機(jī)之間, 它跟蹤所有來自輸入設(shè)備比如鍵盤, 鼠標(biāo)的輸入動作, 經(jīng)過處理后將其送回客戶機(jī). 這樣, 使用戶甚至可以在 MS Windows 的機(jī)器上運(yùn)行 X Client, 截取并傳送用戶的輸入, 只是將 X Window 的屏幕輸出顯示在用戶的屏幕上. 客戶機(jī)的輸入和輸出系統(tǒng)跟 X 服務(wù)器之間的通信都是遵守 X 協(xié)議的.
由于本文檔的主要目的在于介紹如何設(shè)置, 因此對 X Window 不再作進(jìn)一步的介紹. 更詳細(xì)的資料可以參考有關(guān)的 HOWTO, man 頁等等.
如果你的 /usr/X11R6/bin 下面沒有上面某個文件或者多了某個文件, 不必在意, 這主要決定于你的機(jī)器的硬件. 其實(shí)一般只需要跟自己硬件相配套的驅(qū)動即可.比如作者正在使用的機(jī)器上使用的是 3D Lab Permedia II 的芯片的顯示卡, 因此只有 XF86_3DLabs 是有作用的.
如此之多種類的顯示適配器驅(qū)動程序, 系統(tǒng)當(dāng)然需要一個固定和統(tǒng)一的方法去訪問它, 一般說來, 系統(tǒng)是使用一個名為 X 的符號連接去訪問具體的 X Server 的.這個 X 也同樣是存在于 /usr/X11R6/bin/ 目錄中, 可以使用如下命令打印他的具體指向:
具體該命令的用法, 請使用 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è)定了多組分辨率, 刷新頻率和顏色的組合的情況下, 運(yùn)行 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 鍵, 希望以后能夠補(bǔ)充完整 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á)到這一效果.