X Window System

目錄

13.1. 手動設定 X Window System
13.2. 安裝與設定字型
13.3. 如需更多資訊

X Window System (X11) 是 UNIX 中既成現實標準的圖形化使用者介面。X 採網路結構,可讓應用程式在一個主機上啟動而在透過任何種類的網路 (LAN 或網際網路) 連接的其他主機上顯示。本章說明 X Window System 環境的安裝與最佳化,並提供有關在 SUSEŽ Linux Enterprise Server 中使用字型的背景資訊。

[Tip]IBM System z:設定圖形使用者介面

X.Org 並不支援 IBM System z 的輸入與輸出設備。因此,本節說明的組態程序皆不適用。如需 IBM System z 的更多相關資訊,請參閱第 4 章在 IBM System z 上安裝 (↑部署指南)。

手動設定 X Window System

依照預設,X Window System 是以 SaX2 介面設定的,如第 8.2 節「設定圖形卡和顯示器」 (第 8 章使用 YaST 設定硬體元件, ↑部署指南) 中所述。但也可手動編輯組態檔進行設定。

[Warning]錯誤的 X 組態可能會損壞您的硬體

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

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

[Important]使用 X -configure

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

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

Section "designation"
  entry 1
  entry 2
  entry n
EndSection 

可用的段落類型列出在 表格 13.1 「/etc/X11/xorg.conf 中的段落」 中。

表格 13.1. /etc/X11/xorg.conf 中的段落

類型

代表意義

Files

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

ServerFlags

伺服器行為的一般切換器。

Module

伺服器應載入的模組清單

InputDevice

輸入設備,例如,鍵盤和特殊輸入設備 (觸控板、搖桿等) 都是在這個段落設定。這個段落含有 Driver 的重要參數以及定義 ProtocolDevice 的選項。您每個連接到電腦的設備通常有一個 InputDevice 段落。

Monitor

所用的伺服器。此段落的重要元素為︰Identifier (稍後的 Screen 定義中將會參考它)、重新整理速率 VertRefresh 以及同步頻率限制 (HorizSyncVertRefresh)。設定值以 MHz、kHz 和 Hz 提供。通常,伺服器會拒絕和監視器規格不對應的模式行。這樣可防止不小心將太高的頻率送往顯示器。

Modes

特定螢幕解析度的模式行參數。這些參數可以由 SaX2 依據使用者給定的值計算,通常不需要變更。如果您要連接固定頻率監視器,現在可以手動變更。在 /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO 目錄 (howtoenh 套件中提供) 中的 HOWTO 檔案中,可以找到各個數值之意義的詳細資料。若要手動計算 VESA 模式,可以使用 cvt 工具。例如,若要計算解析度為 1680x1050、頻率為 60Hz 之顯示器的模式行,請使用指令 cvt 1680 1050 60

Device

特定圖形卡。它以本身的描述名稱表示。本節中可用的選項主要取決於所用的驅動程式。例如,如果使用 i810 驅動程式,可以在手冊頁 man 4 i810 中找到有關可用選項的詳細資訊。

Screen

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

請注意,某些驅動程式要求所有使用的組態都必須存在於 Display 區段的某個位置。例如,如果您使用筆記型電腦並想要使用比內部 LCD 大的外部顯示器,則可能需要在 Modes 行末尾新增比內部 LCD 支援的解析度更高的解析度。

ServerLayout

單螢幕顯示或多螢幕顯示組態的配置。這個段落連結輸入設備 InputDevice 和顯示設備 Screen

DRI

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


MonitorDevice,與 Screen 將在以下詳細說明。如需其他段落的進一步資訊,請參閱 X.Orgxorg.conf 的手冊頁。

xorg.conf 中可能有多個不同的 Monitor Device 段落。也可能有多個 Screen 段落。ServerLayout 段落決定使用這些段落中的哪些段落。

Screen 段落

Screen 段落是由 monitor 和 device 段落組成,已決定要使用的解析度和色彩深度。Screen 段落可能如同 範例 13.1 「/etc/X11/xorg.conf 檔的螢幕段落」 一般。

範例 13.1. /etc/X11/xorg.conf 檔的螢幕段落

Section "Screen"1
  DefaultDepth  162
  SubSection "Display"3
    Depth       164
    Modes       "1152x864" "1024x768" "800x600"5
    Virtual     1152x8646
  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]"7
  Monitor       "Monitor[0]"
EndSection

1

Section 決定段落類型,在此情況下為 Screen

2

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

3

會為每種色彩深度指定不同的 Display 子段落。

4

Depth 決定與該組 Display 設定搭配使用的色彩深度。可能的值為 815162432,雖然並不是每個值都受所有 X 伺服器模組或解析度支援。

5

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

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

6

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

7

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

Device 段落

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

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

1

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

2

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

X 伺服器或驅動程式的行為可以透過附加的選項來操作。Device 段落中的選項 sw_cursor 便是一個範例。它可以停用硬體滑鼠游標並描述使用軟體的滑鼠指標。驅動程式模組不同,可用的選項各有不同,可以在 /usr/share/doc/套件名稱目錄內之驅動程式模組的描述檔案中找到。通常情況下,也可以在手冊頁 (man xorg.confman 4 <驅動程式模組>man 4 chips) 中找到有效的選項。

如果圖形卡有多個視訊連接器,可將此卡的各個不同設備設定為單個檢視窗。請使用 SaX2 以此方式設定圖形介面。

Monitor 和 Modes 段落

Device 段落類似,MonitorModes 段落分別描述一個顯示器。組態檔 /etc/X11/xorg.conf 可以含有沒有個數限制的 Monitor 段落。每個 Monitor 段落都會參考帶有 UseModes 行 (若可用) 的 Modes 段落。如果沒有可用於 Monitor 段落的 Modes 段落,X 伺服器將從一般同步值計算適當的值。ServerLayout 段落指定相關的 Monitor 段落。

顯示器定義應該由有經驗的使用者進行設定。模式行是 Monitor 段落的重要組成部份。模式行可設定對應解析度的水平與垂直計時。顯示器內容,特別是允許的頻率,儲存在 Monitor 區段中。可以使用公用程式 cvt 產生標準 VESA 模式。如需詳細資訊,請參閱 cvt 手冊頁 (man cvt)。

[Warning]

除非您深入瞭解監視器與圖形卡功能,否則請勿變更模式行,因為這樣做可能會嚴重損壞您的監視器。

想自行開發顯示器描述的人員,應非常熟悉 /usr/share/X11/doc 文件的內容。安裝 xorg-x11-doc 套件以尋找 PDF 與 HTML 頁面。

在今天,需要手動指定模式行的的情況非常少見。如果您使用先進的多頻顯示器,依規則,X 伺服器可以透過 DDC 直接從顯示器讀取允許頻率以及最佳解析度,如 SaX2 組態區段中所述。如果因某種原因而不適用,請使用 X 伺服器內附的一種 VESA 模式。此模式對大多數圖形卡與顯示器組合都起作用。