提到 X 自然就不能不提到 XF86Config 这个档案。XFree86 就是利用 XF86Config 来作
一些 X 的初始设定。在你看完这篇文章时,你或许或感到无助,因为这麽大一篇设定档
打到完不就挂了,还谈什麽设定。其实你不用担心,因为在 X 中已经提供了几个相当不
错的 X 设定程式给你使用了,其中最基本的就是 xf86config 这个档,在redhat中附了
Xconfigurator 也不错,而最新的就是 XF86Setup,提供了图形的介面,更酷,更方便
,更好用,这些後面我会再介绍。当开始启动 X 时,它会在下列的路径中寻找这个档案:
/etc/XF86Config
/lib/X11/XF86Config.hostname
/lib/X11/XF86Config
表示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 mapping
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 Lo
k). led的值为1 至3 .
VTSysReq
可以让非SYSV但支援VT switching的系统使用SYSV-style VT switch
sequence.
Pointer section 用来指定游标的装置和参数.
Protocol "protocol-type"
指定游标装置的协定, protocol-type 如下:
BusMouse
Logitech
Microsoft
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存在.
Identifier "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" : 指定显示器所提供的composit
sync
"+Sync"和"-VSync": 调整VSync信号
modeline "name" mode-description
可以将上述功能合并在一行.
Device sections 可以设定图形装置(显示卡). 在XF86Config中可以有多个 DEVICE
section.
Identifier "ID string"
设定名称, 以便Screen section中可以辩认.每个Device sectio
中只能有一个名称.
VendorName "vendor"
显示卡制造商的名称
BoardName "model"
显示卡型号
Chipset "chipset-type"
指定显示卡的chipset. 但通通是不用我们去设定的, 因为
X server会自动侦测.
Ramdac "ramdac-type"
指定RAMDAC, 但和上一个理由一样, 通通我们也是不用去设
定它.
DacSpeed speed