23.1 手動設定 X Window 系統

依照預設,X Window 系統是以 SaX2 介面設定的,如節 8.15, SaX2中所述。 但也可手動編輯組態檔進行設定。

警告: 故障的 X 組態可能會損壞您的硬體

進行 X Window System 組態時請務必小心。在完成組態之前,絕對不可以啟動 X Window System。錯誤的組態會對硬體造成無法挽回的損害 (固定頻率的監視器特別是如此)。本書與 SUSE Linux Enterprise 製作者對所致損害不負任何責任。本資訊是仔細研究的結果,但不保證提及的所有方法都正確以及不會損害您的硬體。

指令 sax2X -configure 會建立檔案 /etc/X11/xorg.conf。這是 X Window System 的主要組態檔。請在此處找出和您的圖形卡、滑鼠以及監視器相關的所有設定。

重要: 使用 X -configure

若之前嘗試 SUSE Linux Enterprise 的 SaX2 失敗的話,請使用 X -configure 設定您的 X 設定。若您的設定包含專屬的二進位檔驅動程式,則 X -configure 無法工作。

下列段落會描述組態檔 /etc/X11/xorg.conf 的結構。它由多個段落組成,每一個都會處理組態的某個層面。每一個段落以關鍵字 Section <指定> 開始,並以 EndSection 結束。下列轉換會套用到所有部份:

Section designation
  entry 1
  entry 2
  entry n
EndSection
 

可用的段落類型列出在 表 23-1 中。

表 23-1 /etc/X11/xorg.conf 中的段落

類型

代表意義

檔案

用於字型與 RGB 顏色表的路徑。

ServerFlags (伺服器標誌)

一般切換。

模組

伺服器應載入的模組清單。

InputDevice (輸入設備)

輸入設備,例如,鍵盤和特殊輸入設備 (觸控板、搖桿等) 都是在這個段落設定。這個段落含有 Driver (磁碟機) 的重要參數以及定義 Protocol (通訊協定)Device (設備) 的選項。

監控員

所用的伺服器。這個段落的個別元素是名稱 (將在 Screen (螢幕) 定義中討論)、bandwidth (頻寬) 以及同步頻率限制 (HorizSync (水平同步)VertRefresh (垂直更新))。設定值以 MHz、kHz 和 Hz 提供。通常,伺服器會拒絕和監視器規格不對應的模式行。這樣可防止不小心將太高的頻率送往顯示器。

模式

特定螢幕解析度的模式行參數。這些參數可以由 SaX2 依據使用者給定的值計算,通常不需要變更。如果您要連接固定頻率監視器,淚在可以手動變更。請在位於 /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO 的 HOWTO 檔中,找出每一個個別數值的意義之詳細資料。xorg.confModes (模式)

設備

特定圖形卡。它是以本身描述名稱敘述。

螢幕

(螢幕)這個段落和 Monitor (監視器) 以及 Device (設備) 一起構成 X.Org 所有必要的設定。在 Display (顯示) 子段落,請指定虛擬螢幕的大小 (Virtual (虛擬螢幕))、ViewPort (檢視埠),以及該螢幕使用的 Modes (模式)

ServerLayout (伺服器配置)

The layout of a single or multihead configuration. 這個段落連結輸入設備 InputDevice (輸入設備) 和顯示設備 Screen (螢幕)

DRI

提供資訊給「直接算圖基礎架構 (DRI)」。

顯示器設備,與螢幕將在以下詳細說明。如需其他段落的進一步資訊,請參閱 X.Orgxorg.conf 的手冊頁。

xorg.conf 中可能有多個不同的 Monitor (顯示器)Device (設備) 段落。也可能有多個 Screen (螢幕) 段落。下列 ServerLayout (伺服器配置) 段落決定使用哪一個。

23.1.1 螢幕段落

螢幕段落是由顯示器和設備段落組成,已決定要使用的解析度和色彩深度。螢幕段落可能如同 範例 23-1 一般。

範例 23-1 /etc/X11/xorg.conf 檔的螢幕段落

Section "Screen"
  DefaultDepth  16
  SubSection "Display"
    Depth       16
    Modes       "1152x864" "1024x768" "800x600"
    Virtual     1152x864
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1280x1024"
  EndSubSection
  SubSection "Display"
    Depth       32
    Modes "640x480"
  EndSubSection
  SubSection "Display"
    Depth        8
    Modes       "1280x1024"
  EndSubSection
  Device        "Device[0]"
  Identifier    "Screen[0]"
  Monitor       "Monitor[0]"
EndSection

Section 決定段落的名稱,在此案例中為 Screen

DefaultDepth 決定若無指定色彩深度的話,預設使用的色彩深度。

對於每種色彩深度,會指定不同的 Display 段落。

Depth 決定這組顯示器設定所使用的色彩深度。正值為 8151624,與 32,雖然並不是每一個都受到 X 伺服器支援。

Modes 段落包括可能螢幕解析度的清單。X 伺服器將由左而右檢查這個清單。對於每一個解析度,X 伺服器會在 Modes (模式) 段落搜尋適合的 Modeline (模式行)Modeline (模式行) 同時由顯示器與圖形卡的功能決定。Monitor (顯示器) 設定值將決定 Modeline (模式行) 的結果。

第一個找到的解析度是 Default mode (預設模式)。按 Ctrl+Alt++ (數字鍵盤),可以切換到清單右邊的下一個解析度。 按 Ctrl+Alt+ (數字鍵盤),可向左切換。您可以在 X 執行中變更解析度。

顯示器子段落最後一行的 Depth 16 指虛擬螢幕大小。虛擬螢幕可能的最大大小由圖形卡上安裝的記憶體數量以及所要的色彩深度決定,而不是顯示器的最大解析度。因為目前的圖形卡都附有大量的視訊記憶體,您可以建立非常大的虛擬桌面。不過,如果將大部份的視訊記憶體用於虛擬桌面,將可能無法使用 3D 功能。例如,如果卡上有 16 MB 視訊 RAM,虛擬螢幕可用佔用 4096x4096 像素,8 位元色彩探度。不過,特別是加速卡,不建議將所有記憶體用於虛擬螢幕,因為卡上的這個記憶體還要用於各種字型與圖形的快取處理。

Identifier (識別碼) 行 (此處為 Screen[0]) 對這個段落提供一個定義的名稱,以便對下列 ServerLayout (伺服器配置) 段落提供唯一性參照。Device (設備)Monitor (顯示器) 行指定屬於這個定義的圖形卡和顯示器。它們透過本身對應的名稱或識別碼Device (設備) 以及 Monitor (顯示器) 段落連結。以下詳細討論這些段落。

23.1.2 設備段落

設備段落描述特定的圖形卡。xorg.conf 中的設備項目數沒有限制,但每一個設的名稱要使用關鍵字 Identifier (識別碼) 來區別。若您安裝多張圖形卡,段落將只依序編號。第一個稱為 Device[0] (設備[0]),第二個稱為 Device[1] (設備[1]),以下類推。以下檔案顯示一個使用 Matrox Millennium PCI 圖形卡的電腦 (如 SaX2 所設定),其 Device (設備) 段落的例外情況:

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"
  Driver        "mga"
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"
EndSection

BusID (匯流排 ID) 定義安裝圖形卡的 PCI 或 AGP 插槽。這個值和指令 lspci 顯示的 ID 相符。X 伺服器需要十進位格式的詳細資料,但 lspci 以十六進位格式顯示這些值。SaX2 會自動偵測 BusID 的值。

SaX2 會自動偵測 Driver 的值,並指定您的圖形卡要使用哪個驅動程式。如果是 Matrox Millennium 圖形卡,驅動程式模組稱為 mga。X 伺服器會在定義於 drivers 子目錄的 Files 段落中的 ModulePath 中搜尋。在標準安裝中,為 /usr/X11R6/lib/modules/drivers/usr/X11R6/lib64/modules/drivers目錄。名稱會附加 _drv.o,因此,如果是 mga 驅動程式,將載入驅動動程式檔案 mga_drv.o

X 伺服器或驅動程式的行為可以透過附加的選項來操作。設備段落中的選項 sw_cursor 便是一個範例。它可以關閉硬體滑鼠游標並描述使用軟體的滑鼠指標。視驅動程式而定,各有不同的選項,可以在 /usr/share/doc/package_name目錄內的驅動程式模組描述檔案中找到。通常也可在手冊頁找到有效的選項 (man xorg.confman X.Org)。

23.1.3 顯示器和模式段落

Device (設備) 段落類似,Monitor (顯示器)Modes (模式) 段落分別描述一個顯示器。組態檔 /etc/X11/xorg.conf 可以含有沒有個數限制的 Monitor (顯示器) 段落。伺服器配置段落指定相關的 Monitor (顯示器) 段落。

顯示器定義應該由有經驗的使用者進行設定。模式行是 Monitor (顯示器) 段落的重要組成部份。模式行可設定對應解析度的水平與垂直計時。顯示器的內容,特別是容許頻率,儲存在 Monitor (顯示器) 段落中。

警告: 除非您對顯示器與圖形卡功能有深度的瞭解,否則請不要變更模式行,以免造成顯示器嚴重損害。

嘗試開發自己的監視器描述者,應十分熟悉 /usr/X11R6/lib/X11/doc/ 中的文件 (必須安裝 xorg-x11-doc 套件)。

在今天,需要手動指定模式行的的情況非常少見。如果您使用先進的多頻顯示器,依規則,X 伺服器可以透過 DDC 直接從顯示器讀取容許頻率以及最佳解析度值,如 SaX2 組態段落中的說明那樣。如果因某種原因而不適用,請使用 X 伺服器內附的一種 VESA 模式。This works with almost all graphics card and monitor combinations.