XF86Config檔案導讀 xwindow xserver (轉)

worldblog發表於2007-12-07
XF86Config檔案導讀 xwindow xserver (轉)[@more@]
XF86Config導讀


提到 X 自然就不能不提到 XF86Config 這個檔案。XFree86 就是利用 XF86Config 來作一些 X 的初始設定。在你看完這篇文章時,你或許或感到無助,因為這麼大一篇設定檔 打到完不就掛了,還談什麼設定。其實你不用擔心,因為在 X 中已經提供了幾個相當不錯的X 設定程式給你使用了,其中最基本的就是xf86config 這個檔,在中附了 Xconfigurator 也不錯,而最新的就是 XF86Setup,提供了圖形的介面,更酷,更方便 ,更好用,這些後面我會再介紹。當始啟動 X 時,它會在下列的路徑中尋找這個檔案:

/etc/XF86Config
X/lib/X11/XF86Config.hostname
XRoot/lib/X11/XF86Config

XRoot表示X11的路徑.

XF86Config是經由許多區段所組成的。每個區段都有一個固定格式如下:

Section "SectionName"
SectionEntry
...
EndSection

而 section names 可為:

Files (File pathnames)
ServerFlags (Server flags)
Keyboard (Keyboard configuration)
Pointer (Pointer configuration)
Monitor (Monitor description)
Device (Graphics device description)
Screen (Screen configuration)

其中檔案區段(File section)是用來指定內定的字形路徑和 RGB 資料路徑。當然這些路 徑也是可由命令列的方式設定。至於entry的設定如下:

FontPath "path"

FontPath可以是多個的,分別列在不同行中。X11R6 也允許 X 從 font server 下
設定字形,如 fontpath "/usr/X11R6/lib/X11/fonts/misc/,tcp/zok:7100" 就是用來告知 X server 在本端的 /usr/X11R6/lib/X11/fonts/misc 路徑中,tcp/zok 這個主 機,port 為 7100 的地方找字形

RGBPath "path"

設定 RGB色彩資料庫的路徑.





ServerFlags section 中, 可以設定一些X Server的雜項.如下:

NoTrapSignals
這個可以防止X server因為不當的錯誤而自動離開。相對的, 它會結束 X ,然後在發生錯誤的地方產生core這個檔. 一般來說, 除非是X 的除錯人員, 否則我們 是用不到這個選項的.

DontZap
這個選項可以取消經由 Ctrl+Alt+Backspace 離開X 的功能.
DontZoom
我們可利用Ctrl+Alt+Keypad-Plus和Ctrl+Alt+Keypad-Minus來調整X 的解析度, 開啟DontZoom選項後就會取消這個功能. Keyboard section 當然就是用來設定一些keyboard的設定了.

Protocol "kbd-protocol"
kbd-protocol可以是Standard 或 Xqueue.

AutoRepeat delay rate
更改keyboard 重覆的速度. 但並非所有的平都可以使用.

ServerNumLock
讓X server控制 NumLock鍵. 如此可使應用程式使用number pad.

LeftAlt map
RightAlt mapping
AltGr mapping
ScrollLock mapping
RightCtl mapping
允許內定值設定到上列的key中.mapping 的值可為:
Meta
Compose
ModeShift
ModeLock
ScrollLock
Control

XLeds led
允許client AP應用這3 個led 鍵(Scroll Lock, Caps Lock & Num Lock). led的值為1 至3 .

VTSysReq
可以讓非SYSV但支援VT switching的使用SYSV-style VT switch
sequence.





Pointer section 用來指定遊標的裝置和引數.

Protocol "protocol-type"
指定遊標裝置的協定, protocol-type 如下:
BusMouse
Logitech

MMSeries
Mouseman
MouseSystems
PS/2
MMHitTab
Xqueue
OSMouse

Device "pointer-dev"
設定X server應用那個裝置(如/dev/tty00 或 /dev/mouse), 但若是用
Xqueue 或 OSMouse則不須指定.

BaudRate rate
設定序列滑鼠的鮑率. 有些mouse可以自行設定速率, 其它的則是經由 來設定.內定值是1200.

Emulate3Buttons
可以讓兩鍵的mouse模擬三鍵的mouse. 模擬的方式是利用同時按下兩個鍵.

Emulate3Timeout timeout
模擬三鍵時, server等待兩鍵同時按下的時間. 內定值是 50ms
(milliseconds).

ChordMiddle
當middle鍵按下時, 送出left+right的事件.

SampleRate rate
ClearDTR
ClearRTS
這三個entry只適用在某些mouse中(LogiTech和MouseSystem).





Monitor sections 用來定義顯示器的規格和它可使用的. 在XF86Config中可以有多 個Monitor-section存在.

ntifier "ID string"
指定這個顯示器的名稱. 每個Monitor section只能有一個唯一的顯示器名稱.

VendorName "vendor"
設定顯示器製造公司名稱.

ModelName "model"
顯示器的model.

HorizSync horizsync-range
顯示器的水平掃描□圍.其值可用逗號分開, 如果是□圍則可用減號相 連.單位是KHz.

VertRefresh vertrefresh-range
顯示器的垂直覆新值. 其值可用逗號分開, 如果是□圍則可用減號相連.單位是KHz.

Gamma gamma-value(s)
gamma的顏色調整值. 可以為單一值或是三個分開的 RGB值. 但並非所
有的X server
都可以使用這個功能.

Mode "name"
Video Mode設定的啟始, EndMode為其結束. 其中的內容如下:
DotClock clock
HTimings hdisp hsyncstart hsyncend htotal
VTimings vdisp vsyncstart vsyncend vtotal
Flags "flag" ...
flag的選項有 :
"Interlace" : 顯示器是交錯式的
"DoubleScan": 雙重掃描式的
"+HSync"和"-HSync": 調整HSync訊號
"+VSync"和"-VSync": 調整VSync訊號
"Composite" : 指定顯示器所提供的composite sync
"+Sync"和"-VSync": 調整VSync訊號
modeline "name" mode-description
可以將上述功能合併在一行.



Device sections 可以設定圖形裝置(顯示卡). 在XF86Config中可以有多個 DEVICE
section.
Identifier "ID string"
設定名稱, 以便Screen section中可以辯認.每個Device section中只能有一個名稱.

VendorName "vendor"
顯示卡製造商的名稱

BoardName "model"
顯示卡型號

Chipset "chipset-type"
指定顯示卡的chipset. 但通通是不用我們去設定的, 因為
X server會自動偵測.

Rac "ramdac-type"
指定RAMDAC, 但和上一個理由一樣, 通通我們也是不用去設
定它.

DacSpeed speed
除非要指定的速率和RAMDAC上印的不一, 否則也是不用理它.

Clocks clock ...
設定顯示卡的clock. 建議一定要設.

VideoRam mem
顯示卡的記憶體大小. X 會自動去偵測.

Screen sections用於設定X server所使用的顯示卡和顯示器.
"driver-name"
每個Screen section必須由Driver entry開始, driver-name也必須是唯一的.driver-name如下:
Accel
Mono
SVGA
VGA2
VGA16

Accel是用於加速卡.mono單色. vga2和vga16分別是使用2 bits和4bits顏色.
Device "device-id"
使用的device
Monitor "monitor-id"
使用的monitor
ScreenNo scrnum
Screen的Number.
BlankTime time
螢幕保護. time分鐘不動後螢幕就不顯示.內定10分鐘.
SuspendTime time
省電時間. time分鐘不動後螢幕進入省電模式.內定15分鐘.
OffTime time
停電時間. time分鐘不動後螢幕進入停電模式.內定30分鐘.
SubSection "Display"
設定色彩bit數, 虛擬螢幕大小, 解析度,和其它.

# File generated by xf86config.
# 我的XF86config檔
#
# Copyright (c) 1994 by The XFree86 Project, Inc.
#
#
# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.---------------- 這是重點.
# **********************************************************************
# Files section. 在此設定rgb檔和字形的路徑
# **********************************************************************
Section "Files"
# 在這特別提到你不用加上附檔名, 因為內定值它會自行辨認
RgbPath "/usr/X11R6/lib/X11/rgb"
# 接著加上字形路徑
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/chinese/" ------&gt 如果你有使用
xcin+crxvt或
cxwin的話, 中
文字形都擺在
此, 當然別忘
了自己加上這
個路徑, 否則
是無法的
EndSection

# **********************************************************************
# Server flags section. 可以在此設定一些 X server的引數(期標)
# **********************************************************************

Section "ServerFlags"

# server 不當離開時, 自動產生core
# NoTrapSignals

# 可以將Ctrl+Alt+BS退出 server 的功能取消
# DontZap
# 可將Ctrl+Alt++ or +- 更換解析度的功能取消
# DontZoom
EndSection

# **********************************************************************
# Keyboard section
# **********************************************************************

Section "Keyboard"

Protocol "Standard"

# 如果是用Xqueue的方式就可以將上一行comment掉, 保留下一行, 否則則comment掉下一行, 保留上一行

# Protocol "Xqueue"
# 設定keyboard的重覆速度
AutoRepeat 500 5
# ServerNumLock

# 指定那幾個led 可以讓client 自行控制
# Xleds 1 2 3

# 設定下列鍵
# LeftAlt Meta
# RightAlt ModeShift
# RightCtl Compose
# ScrollLock ModeLock
EndSection

# **********************************************************************
# Pointer section. 設定滑鼠
# **********************************************************************

Section "Pointer"
Protocol "Microsoft"
Device "/dev/mouse"

# 如果是用Xqueue的方式就可以將上一行comment掉, 保留下一行, 否則則comment掉下一行, 保留上一行
# Protocol "Xqueue"
# 對某些特定的Logitech滑鼠的鮑率

# BaudRate 9600
# SampleRate 150

# 給兩鍵mouse模擬三鍵mouse
# 模擬三鍵時兩鍵同時按下的時間

Emulate3Buttons
Emulate3Timeout 50

# 給一些logitech三鍵mouse用的
# ChordMiddle
EndSection

# **********************************************************************
# Monitor section 顯示器的設定
# **********************************************************************

Section "Monitor"

Identifier "Generic Multisync"
VendorName "Unknown"
ModelName "Unknown"

# HorizSync 的單位是 kHz
# 請自行更改設定值
HorizSync 30-64

# VertRefresh 的單位是 Hz
# 也請自行更改設定值
VertRefresh 50-100

# Modes 可以有兩種方式設定, 1.都設在同一行 2.分行設定
# 以下兩種模式是相同的

# ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace

# Mode "1024x768i"
# DotClock 45
# HTimings 1024 1048 1208 1264
# VTimings 768 776 784 817
# Flags "Interlace"
# EndMode

# xf86config會自動設定一些標準的mode. 如果模式不合顯示器的規格, 則X 會自動刪除
# 所以你不用事先將它刪除(除非有的模式會造成你的顯示器無法顯示)
# 在這些模式中, X 自然會找出最合適的來使用

# 640x400 @ 70 Hz, 31.5 kHz hsync
Modeline "640x400" 25.175 640 664 760 800 400 409 411 450
# 640x480 @ 60 Hz, 31.5 kHz hsync
Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
# 800x600 @ 56 Hz, 35.15 kHz hsync
ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
# 1024x768 @ 87 Hz interlaced, 35.5 kHz hsync
Modeline "1024x768" 44.9 1024 1048 1208 1264 768 776 784 817 Interlace

# 640x480 @ 72 Hz, 36.5 kHz hsync
Modeline "640x480" 31.5 640 680 720 864 480 488 491 521
# 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
# 1024x768 @ 60 Hz, 48.4 kHz hsync
Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync

# 1024x768 @ 70 Hz, 56.5 kHz hsync
Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync
Modeline "1280x1024" 80 1280 1296 1512 1568 1024 1025 1037 1165 Interlace

# 1024x768 @ 76 Hz, 62.5 kHz hsync
Modeline "1024x768" 85 1024 1032 1152 1360 768 784 787 823
# 1280x1024 @ 61 Hz, 64.2 kHz hsync
Modeline "1280x1024" 110 1280 1328 1512 1712 1024 1025 1028 1054

# 1280x1024 @ 74 Hz, 78.85 kHz hsync
Modeline "1280x1024" 135 1280 1312 1456 1712 1024 1027 1030 1064

# 1280x1024 @ 76 Hz, 81.13 kHz hsync
Modeline "1280x1024" 135 1280 1312 1416 1664 1024 1027 1030 1064

# Low-res Doublescan modes
# If your chipset does not support doublescan, you get a 'squashed'
# resolution like 320x400.

# 320x200 @ 70 Hz, 31.5 kHz hsync, 8:5 ect ratio
Modeline "320x200" 12.588 320 336 384 400 200 204 205 225 Doublescan
# 320x240 @ 60 Hz, 31.5 kHz hsync, 4:3 aspect ratio
Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan
# 320x240 @ 72 Hz, 36.5 kHz hsync
Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan
# 400x300 @ 56 Hz, 35.2 kHz hsync, 4:3 aspect ratio
ModeLine "400x300" 18 400 416 448 512 300 301 602 312 Doublescan
# 400x300 @ 60 Hz, 37.8 kHz hsync
Modeline "400x300" 20 400 416 480 528 300 301 303 314 Doublescan
# 400x300 @ 72 Hz, 48.0 kHz hsync
Modeline "400x300" 25 400 424 488 520 300 319 322 333 Doublescan
# 480x300 @ 56 Hz, 35.2 kHz hsync, 8:5 aspect ratio
ModeLine "480x300" 21.656 480 496 536 616 300 301 302 312 Doublescan
# 480x300 @ 60 Hz, 37.8 kHz hsync
Modeline "480x300" 23.890 480 496 576 632 300 301 303 314 Doublescan
# 480x300 @ 63 Hz, 39.6 kHz hsync
Modeline "480x300" 25 480 496 576 632 300 301 303 314 Doublescan
# 480x300 @ 72 Hz, 48.0 kHz hsync
Modeline "480x300" 29.952 480 504 584 624 300 319 322 333 Doublescan

EndSection

# **********************************************************************
# Graphics device section. 顯示卡設定
# **********************************************************************

# Standard VGA Device: 標準的vga設定

Section "Device"
Identifier "Generic VGA"
VendorName "Unknown"
BoardName "Unknown"
Chipset "generic"

# VideoRam 256

# Clocks 25.2 28.3

EndSection

# Sample Device for accelerated server: 加速卡的□例設定

# Section "Device"
# Identifier "Actix GE32+ 2MB"
# VendorName "Actix"
# BoardName "GE32+"
# Ramdac "ATT20C490"
# Dacspeed 110
# Option "dac_8_bit"
# Clocks 25.0 28.0 40.0 0.0 50.0 77.0 36.0 45.0
# Clocks 130.0 120.0 80.0 31.0 110.0 65.0 75.0 94.0
# EndSection

Section "Device"
Identifier "My Video Card"
VendorName "Unknown"
BoardName "Unknown"
#VideoRam 1024
# Insert Clocks lines here if appropriate
EndSection


# **********************************************************************
# Screen sections 螢幕設定
# **********************************************************************

# The Colour SVGA server 對SVGA的設定

Section "Screen"
Driver "svga"
Device "Generic VGA"
#Device "My Video Card"
Monitor "Generic Multisync"
Subsection "Display"
Depth 8
#Modes "640x480" "800x600" "1024x768"
ViewPort 0 0
Virtual 320 200
#Virtual 1024 768
EndSubsection
EndSection

# The 16-color VGA server 16色VGA的設定

Section "Screen"
Driver "vga16"
Device "Generic VGA"
Monitor "Generic Multisync"
Subsection "Display"
Modes "640x480" "800x600"
ViewPort 0 0
Virtual 800 600
EndSubsection
EndSection

# The Mono server 黑白設定

Section "Screen"
Driver "vga2"
Device "Generic VGA"
Monitor "Generic Multisync"
Subsection "Display"
Modes "640x480" "800x600"
ViewPort 0 0
Virtual 800 600
EndSubsection
EndSection

# The accelerated servers (S3, Mach32, Mach8, 8514, P9000, AGX, W32, Mach64) 加速卡的設定
Section "Screen"
Driver "accel"
Device "My Video Card"
Monitor "Generic Multisync"
Subsection "Display"
Depth 8
Modes "800x600" "1024x768" "640x480"
ViewPort 0 0
Virtual 1024 900
EndSubsection
Subsection "Display"
Depth 16
Modes "640x480" "800x600"
ViewPort 0 0
Virtual 800 600
EndSubsection
Subsection "Display"
Depth 32
Modes "640x400"
ViewPort 0 0
Virtual 640 400
EndSubsection
EndSection

閱讀:508次

來源:aid

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

相關文章