XF86Conifg檔案詳解(轉)

gugu99發表於2007-08-10
XF86Conifg檔案詳解(轉)[@more@]

  X-Window系統給我們提供了許多配置工具,但最終也是生成了一個配置檔案:XF86Config,它存放在/etc/X11目錄下。如果你能夠直接讀懂它,那麼對其做一些小的調整,那將是十分容易的事。現在我們就一起來分析一下這個配置檔案。它分成了許多個小節,每個小節分別配置一部分。

  一、 File配置小節

  設定X Window系統所用的字型路徑,下面是一個配置例項:

    Section "Files"

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

  FontPath "/usr/X11R6/lib/X11/fonts/TrueType"

  FontPath "unix/:-1"

  EndSection

  其中Section“Files”表示Files小節開始,EndSection表示這個小節結束。其間有幾個配置項:

  1)RgbPath:設定RGB色彩資料庫的路徑。這個配置項的內容是在安裝的時候就寫好的,肯定沒錯,別改它。

  2) FontPath:用來設定字型的路徑。而像Redhat Linux會採用X Font Server(字型伺服器)來管理所有的字型,這時,你就會看到字型路徑就像:"unix/:-1"

  二.Server Flag配置小節

  設定X Server的各種選項,包括一些功能鍵的設定,下面是一個配置例項:

    Section "ServerFlags"

  # NoTrapSignals

  # DontZap

  # DontZoom

  # DisableVidModeExtension

  # AllowNonLocalXvidtune

  # DisableModInDev

  # AllowNonLocalModInDev

  EndSection

  Section"ServerFlags"表示ServerFlags小節的開始,EndSection表示該小節的結束,其中有以下幾個配置項:

  1)NoTrapSignals:不捕捉訊號,在錯誤發生時直接dump產生Core檔案。若啟用這項設定將可能導致控制檯不穩定,不過對於高手而言,dump產生的core檔案有利於糾錯。建議不啟用。

  2)DontZap:取消使用Ctrl+Alt+Backspace組合熱鍵退出XWindow系統的功能。預設是註釋掉它,也就是說可以使用Ctrl+Alt+Backspace組合熱鍵退出X Window系統。建議不啟用。

  3)DontZoom:取消使用Ctrl+Alt++和Ctrl+Alt+-組合鍵切換顯示模式的功能。預設是註釋掉它的,也就是說可以使用這兩個組合鍵進行顯示模式的切換。建議不啟用。

  4) DisableVidModeExtension:禁示使用xvidtune程式調整畫面。

  5) AllowNonLoaclXvidtune:允許使用非本地端的xvidtune程式。

  6) DisableModInDev:關閉動態變更輸入裝置的設定。

  7) AllowNonLocalModInDev:允許非本地端變更鍵盤和滑鼠的設定。

  注:xvidtune程式是Xwindows中提供的一個應用程式,它用來調整畫面顯示大小和位置的程式。

  三、 鍵盤配置小節

  設定各式鍵盤,在此可以指定鍵盤的傳輸協議、語系、訊號、字元對照表,下面是一個配置例項:

  Section "Keyboard"

Protocol "Standard"

AutoRepeat 500 5

# ServerNumLock

LeftAlt Meta

RightAlt Meta

ScrollLock Compose

RightCtl Control

# XkbDisable

# XkbModel "pc102"

# XkbModel "microsoft"

# # # XkbOptions "ctrl:swapcaps"

XkbRules "xfree86"

XkbModel "pc101"

XkbLayout "en_US"

EndSection

  Section "Keyboard"表示Keyboard小節的開始,EndSection表示該小節的結束,其中有以下幾個配置項:

  1) Protocol:用來配置鍵盤所使用的傳輸協議。可選值為:

  Standard:標準傳輸協議

  Xqueue:使用X佇列傳輸協議

  預設值就是Standard,一般無需修改,大家的大都是標準的鍵盤。

  2) AutoRepeat:用來配置對按住某鍵不放的處理,格式為:

  AutoRepeat 毫秒數 次數

  如:AutoRepeat 500 5,表示當按住某鍵500毫秒(0.5秒)後,開始自動送出該按鍵訊號,每秒5次。

  3) ServerNumLock:讓X server處理NumLock訊號,效果等於關閉鍵盤右方數字鍵的功能。

  4) 以下一組配置項是用來設定鍵盤上Alt、Ctrl、Shift、ScrollLock等鍵的 功能定義:

  LeftAlt Meta

  RightAlt Meta

  ScrollLock Compose

  RightCtl Control

  左邊是鍵名,LeftAlt就是左邊的ALT鍵,RightAlt就是右邊的ALT鍵……,而右邊則是功能定義,包括:

  Compose:等於一般Scroll Lock按鍵的功能;

  Control:等於一般Ctrl按鍵的功能;

  Meta:等於一般Alt按鍵的功能;

  ModeLock:等於一般Caps Lock按鍵的功能

  ModeShift:等於一般Shift按鍵的功能。

  接下來則是關於XKB的配置:

  5) XkbDisable:關閉鍵盤擴充套件屬性,也即不指定其型別及對應的語言

  6)XkbCompat:設定鍵盤相容性,預設值是“default”,包含有“Basic”的設定,按串列埠的“mousekeys”、“accessx”、“misc”、“iso9995”與“japan”,相關檔案配置放在/usr/X11R6/lib/X11/xkb/compat目錄下。

  7)XkbGeometry:指定鍵盤結構,不同的鍵盤有不同的硬體結構,除非是使用Amiga、Atari、Macintosh等專用鍵盤,否則應使用預設值“pc”,不設定也行。它的相關選項在/usr/X11R6/lib/X11/xkb/geometry目錄下。

  8)XkbKeycodes:指定鍵盤按鍵送出的資訊,預設值為“xfree86”,其餘的可用設定位於/usr/X11R6/lib/X11/xkb/keycodes目錄下。

  9)XkbKeymap:指定鍵盤配置型別設定檔案,可用的檔案位於/usr/X11R6/lib/X11/xkb目錄裡的keymap子目錄。如果設定了本選項相當於同時設定了XkbKeycodes、XkbTypes、XkbCompact、XkbSymbols以及XkbGeometry。

  10)XkbLayout:設定鍵盤輸出語系,使用預設值“us”即採用美式英文。可選值為:de:德文 fr:法文 it:義大利文 jp:日文 ru:俄文

  11)XkbModel:設定鍵盤的型號,常見的是“pc101”、“pc102”。若採用具有微軟標誌的鍵盤的話,請改為“pc104”。

  12)XkbOptions:設定鍵盤選項,通常並不需要任何選項設定,除非您想要交換按鍵的定義。如“ctrl:swapcaps”就可以將Ctrl與Caps Lock鍵互換。

  13)XkbRules:指定Xwindow採用的鍵盤規範檔案,除非有特殊需要(使用SGI的鍵盤),否則應使用預設值:“xfree86”,其它的可選值在/usr/X11R6/lib/X11/xkb/rules目錄下。

  14)XkbSymbols:定義鍵盤各按鍵所對應的字碼,各國鍵盤革些字碼不盡相同。預設使用“us”,即ASCII,字碼表對照檔案放在/usr/X11R6/lib/X11/xkb/symbol目錄下,使用者可以修改。 15)XkbTypes:設定鍵盤的種類,預設值為“default”,在/usr/X11R6/lib/X11/xkb/types目錄下給出了所有的選項。

  16)XkbVariant:設定鍵盤變數,通常無須設定。

  四、 滑鼠配置小節

  設定諸如滑鼠、觸控式螢幕等標準輸入裝置。下面是一個配置例項:

  Section "Pointer"

Protocol "PS/2"

Device "/dev/mouse"

# Protocol "Xqueue"

# BaudRate 9600

# SampleRate 150

Emulate3Buttons

Emulate3Timeout 50

# ChordMiddle

EndSection

  與前面一樣,Section"Pointer"代表該小節的開始,EndSection代表該小節結束。在該配置小節中,共有以下配置項:

  1) Protocol:設定滑鼠使用的傳輸協議,可使用的協議有:

  Auto:讓X window自已檢測,但可能不準確

  BusMouse:匯流排型滑鼠,早期的串列埠滑鼠

  GlidePoint:使用ALPS串列埠版本的GlidePoint觸控式螢幕及其相容產品

  GlidePointPS/2:使用ALPS PS2版本的GlidePoint觸控式螢幕及其相容產品

  IMPS/2:使用微軟PS/2版本的IntelliMouse及其相容產品

  IntelliMouse:使用微軟串列埠版本的IntelliMouse及其相容產品

  Logitech:使用舊版Logitech串列埠滑鼠,新版的已改為“Microsoft”協議

  Microsoft:在1992年起的5-8年間使用的串列埠滑鼠

  MMHitTab:使用舊版Logitech串列埠的HitTablet手機板

  MMSeries:使用舊版Logitech串列埠的MouseMan滑鼠

  MouseMan:使用中期的Logitech串列埠的MouseMan滑鼠

  MouseManPlusPS/2:使用LogitechPS/2版本的天貂及其相容產品

  MouseSystem:採用MouseSystem傳輸協議的串列埠滑鼠可以使用該選項

  NetMosuePS/2:使用Genius PS/2版本的NetMouse網路滑鼠及其相容產品

  NetScrollPS/2:使用Genius PS/2版本的NetScroll滾輪滑鼠及其相容產品

  OSMouse:使用由作業系統控制的滑鼠,而非讓X Window控制滑鼠

  PS/2:現在最廣泛使用的PS/2介面的滑鼠

  SysMouse:讓FreeBSD能夠使用外圍裝置代號為/dev/sysmouse的滑鼠裝置

  ThinkingMouse:使用Kensington串列埠版本的Thinking滑鼠

  ThinkingMousePS/2:使用PS/2版本的Thinking滑鼠及其相容產品

  Xqueue:假如你在鍵盤裝置段讓鍵盤使用X佇列傳輸協議,則這裡也要

  2) Device:用來設定連線滑鼠的外圍裝置程式碼,通常都是/dev/mouse

  3) BaudRate:用來設定波特率,只對某些Logitech滑鼠有效,當使用AceCad繪圖板時,需要將其設定為9600

  4) SampleRate:用來設定取樣率,只對某些Logitech滑鼠有效

  5) Emulate3Buttons:將雙鍵滑鼠模擬成為三鍵滑鼠

  6) Emulate3Timeout:設定模擬三鍵超時時間

  7) ChordMiddle:如果是Logitech滑鼠,那麼得用這一配置項代替Emulate3Buttons

  五、 顯示器配置小節

  設定顯示器的水平、垂直掃描頻率,同時定義各個顯示模式與掃描頻率之間的對應關係。X Server會根據顯示器掃描頻率的設定,配置使用者指定的顯示模式,自動在數十種的對應關係中,找到最恰當的顯示重新整理率。下面是一個配置例項:

  Section "Monitor"

Identifier "Generic Monitor"

VendorName "Unknown"

ModelName "Unknown"

HorizSync 31.5

VertRefresh 60

ModeLine "640x480" 25.175 640 664 760 800

480 491 493 525

EndSection

Section "Monitor"

Identifier "cpq1355"

VendorName "Unknown"

ModelName "Unknown"

HorizSync 30 - 60

VertRefresh 50 - 125

# Mode "1024x768i"

# DotClock 45

# HTimings 1024 1048 1208 1264

# VTimings 768 776 784 817

# Flags "Interlace"

# EndMode

# --- 640x480 ---

# 640x480 @ 60 Hz, 31.5 kHz hsync

Modeline "640x480" 25.175 640 664 760 800

480 491 493 525

# 640x480 @ 72 Hz, 36.5 kHz hsync

Modeline "640x480" 31.5 640 680 720 864

480 488 491 521

# 640x480 @ 75 Hz, 37.50 kHz hsync

ModeLine "640x480" 31.5 640 656 720 840

480 481 484 500 -HSync -VSync

# 640x480 @ 85 Hz, 43.27 kHz hsync

Modeline "640x480" 36 640 696 752 832

480 481 484 509 -HSync -VSync

# 640x480 @ 100 Hz, 53.01 kHz hsync

Modeline "640x480" 45.8 640 672 768 864

480 488 494 530 -HSync -VSync

# --- 800x600 ---

# 800x600 @ 56 Hz, 35.15 kHz hsync

ModeLine "800x600" 36 800 824 896 1024

600 601 603 625

# 800x600 @ 60 Hz, 37.8 kHz hsync

Modeline "800x600" 40 800 840 968 1056

600 601 605 628 +hsync +vsync

# 800x600 @ 72 Hz, 48.0 kHz hsync

Modeline "800x600" 50 800 856 976 1040

600 637 643 666 +hsync +vsync

# 800x600 @ 85 Hz, 55.84 kHz hsync

Modeline "800x600" 60.75 800 864 928 1088

600 616 621 657 -HSync -VSync

# 800x600 @ 100 Hz, 64.02 kHz hsync

Modeline "800x600" 69.65 800 864 928 1088

600 604 610 640 -HSync -VSync

# --- 1024x768 ---

# 1024x768 @ 60 Hz, 48.4 kHz hsync

Modeline "1024x768" 65 1024 1032 1176 1344

768 771 777 806 -hsync -vsync

# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync

Modeline "1024x768" 44.9 1024 1048 1208 1264

768 776 784 817 Interlace

# 1024x768 @ 70 Hz, 56.5 kHz hsync

Modeline "1024x768" 75 1024 1048 1184 1328

768 771 777 806 -hsync -vsync

# 1024x768 @ 76 Hz, 62.5 kHz hsync

Modeline "1024x768" 85 1024 1032 1152 1360

768 784 787 823

# 1024x768 @ 85 Hz, 70.24 kHz hsync

Modeline "1024x768" 98.9 1024 1056 1216 1408

768 782 788 822 -HSync -VSync

# 1024x768 @ 100Hz, 80.21 kHz hsync

Modeline "1024x768" 115.5 1024 1056 1248 1440

768 771 781 802 -HSync -VSync

EndSection

  正如上面所示,在一個配置檔案中可以有多個Monitor配置小節,用來配置多個顯示器。以供後面選擇使用。每個Monitor配置小節都應該使用Section“Monitor”開始,以EndSection結束。下面我們就一起來看一下配置選項:

  1)Identifier、VendorName、ModelName:這三個配置項用來標識不同的顯示器,第一個名字任意寫,你自己知道就可以了,後面兩個也可以隨便新,不過寫成“unkown”最好。

  2)HorizSync:設定水平掃描頻率,它的預設單位是kHz,它可以用逗號分隔開多個獨立的數值,也可以使用形如“30-64”的方式來表示一個範圍。具體的值應該根據顯示器的使用說明上的資料來寫。

  3)VerRefresh:設定垂直掃描頻率,它的預設單位是Hz,表示方式與HorizSync一致,建議根據顯示器的使用說明上的資料來寫。

  六、 顯示卡配置小節

  設定顯示卡的型號、晶片組、晶振晶片、視訊記憶體。下面是一個配置例項:

  Section "Device"

Identifier "ATI Mach64"

VendorName “Unknown”

BoardName “Unknown”

#Chipset “Generic”

VideoRam 1024

# Clocks 25.2 28.3

EndSection

  其配置選項如下:

  1) Identifier:用來標識顯示卡

  2) Chipset:用來標識顯示卡晶片組

  3) VideoRam:用來標識視訊記憶體

  4) Clocks:晶振晶片 七、 螢幕配置小節

  設定將採用的XServer、顯示卡及顯示器之外,還有顯示模式、色彩深度、解析度和虛擬桌面的設定。下面是一個配置例項:

  Section "Screen"

Driver "accel"

Device "ATI Mach64"

Monitor "cpq1355"

DefaultColorDepth 16

Subsection "Display"

Depth 16

Modes "800x600" "640x480"

ViewPort 0 0

EndSubsection

Subsection "Display"

Depth 8

Modes "1152x864" "1024x768" "800x600" "640x480"

ViewPort 0 0

EndSubsection

# BlankTime 3

# StandbyTime 10

# SuspendTime 30

#Offtime 50

EndSection

  1) Driver:選擇X Server驅動,在本例中是accel

  2) Device:選擇所使用的顯示卡,這裡的名字應與顯示卡配置小節的Identifier 一致

  3) Monitor:選擇所使用的顯示器,這裡的名字應與顯示器配置小節的Identifier一致

  4) BlankTime:設定進入螢幕保護的時間,單位為分。

  5) StandbyTime:設定顯示器進入待機狀態的時間,單位為分

  6) SuspendTime:設定顯示器進入掛起狀態的時間,單位為分

  7) Offtime:設定顯示器關閉的時間,單位為分在這個小節中,還有Display子小節,用Subsection “Display”做為開始,用EndSubsection表示結束。每一個子小節設定一種顯示模式,在此例子中設定了兩種顯示模式(這些模式在XWindow中,可以使用“Ctrl”+“+”、“Ctrl”+“-”來切換。每個Display子小節中可以有以下配置項:

  1) Depth:色深,如16代表16位色,8代表8位色

  2) Modes:可以使用的解析度,如本配置中表示16位色可以使用"800x600" "640x480"兩種解析度

  3) ViewPort:使用虛擬桌面時,設定起始畫面的左上角座標

  4) Virtual:設定虛擬桌面,後面跟上解析度即可,如Virtual 1600, 1400就表示模擬成為1600x1400大小的桌面

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-939890/,如需轉載,請註明出處,否則將追究法律責任。