先看一个完整的xorg.conf文件,如下:
# /.../
# SaX generated X11 config file
# Created on: 2009-05-31T19:02:32+0800.
#
# Version: 8.1
# Contact: Marcus Schaefer <sax@suse.de>, 2005
# Contact: SaX-User list <https://lists.berlios.de/mailman/listinfo/sax-users>
#
# Automatically generated by [ISaX] (8.1)
# PLEASE DO NOT EDIT THIS FILE!
#
Section "Files"
FontPath "/usr/share/fonts/misc:unscaled"
FontPath "/usr/share/fonts/local"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/URW"
FontPath "/usr/share/fonts/Speedo"
FontPath "/usr/share/fonts/PEX"
FontPath "/usr/share/fonts/cyrillic"
FontPath "/usr/share/fonts/latin2/misc:unscaled"
FontPath "/usr/share/fonts/latin2/75dpi:unscaled"
FontPath "/usr/share/fonts/latin2/100dpi:unscaled"
FontPath "/usr/share/fonts/latin2/Type1"
FontPath "/usr/share/fonts/latin7/75dpi:unscaled"
FontPath "/usr/share/fonts/baekmuk:unscaled"
FontPath "/usr/share/fonts/japanese:unscaled"
FontPath "/usr/share/fonts/kwintv"
FontPath "/usr/share/fonts/truetype"
FontPath "/usr/share/fonts/uni:unscaled"
FontPath "/usr/share/fonts/CID"
FontPath "/usr/share/fonts/ucs/misc:unscaled"
FontPath "/usr/share/fonts/ucs/75dpi:unscaled"
FontPath "/usr/share/fonts/ucs/100dpi:unscaled"
FontPath "/usr/share/fonts/hellas/misc:unscaled"
FontPath "/usr/share/fonts/hellas/75dpi:unscaled"
FontPath "/usr/share/fonts/hellas/100dpi:unscaled"
FontPath "/usr/share/fonts/hellas/Type1"
FontPath "/usr/share/fonts/misc/sgi:unscaled"
FontPath "/usr/share/fonts/xtest"
FontPath "/opt/kde3/share/fonts"
FontPath "unix/:7100"
InputDevices "/dev/gpmdata"
InputDevices "/dev/input/mice"
EndSection
Section "ServerFlags"
Option "AllowMouseOpenFail" "on"
EndSection
Section "Module"
Load "extmod"
Load "type1"
Load "glx"
Load "freetype"
Load "dbe"
Load "v4l"
EndSection
Section "InputDevice"
Driver "kbd"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbLayout" "us"
Option "XkbModel" "pc104"
Option "XkbRules" "xfree86"
EndSection
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Name" "ImPS/2 Generic Wheel Mouse"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
DisplaySize 305 230
HorizSync 29-35
Identifier "Monitor[0]"
ModelName "800X600@56HZ"
VendorName "--> VESA"
VertRefresh 50-60
UseModes "Modes[0]"
EndSection
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 35.55 800 832 912 1024 600 601 604 620
Modeline "768x576" 33.74 768 792 872 976 576 577 580 596
Modeline "640x480" 23.86 640 656 720 800 480 481 484 497
EndSection
Section "Screen"
DefaultDepth 16
SubSection "Display"
Depth 15
Modes "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "800x600" "768x576" "640x480"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
Section "Device"
BoardName "VMWARE0405"
BusID "0:15:0"
Driver "vmware"
Identifier "Device[0]"
Screen 0
VendorName "VMWare Inc"
EndSection
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection
Section "DRI"
Group "video"
Mode 0660
EndSection
Section "Extensions"
EndSection
通过上述代码会发现xorg.conf文件由
Section "xxxx"
.........
EndSection
对组成.下面我们主要解释一下每个节点的含义。
一、输入设备--键盘
Section "InputDevice"
Driver "kbd"
Identifier "Keyboard[0]"
Option "Protocol" "Standard"
Option "XkbLayout" "us"
Option "XkbModel" "pc104"
Option "XkbRules" "xfree86"
EndSection
二、输入设备--鼠标
Section "InputDevice"
Driver "mouse"
Identifier "Mouse[1]"
Option "Buttons" "5"
Option "Device" "/dev/input/mice"
Option "Name" "ImPS/2 Generic Wheel Mouse"
Option "Protocol" "explorerps/2"
Option "Vendor" "Sysp"
Option "ZAxisMapping" "4 5"
EndSection
三、显示器
Section "Monitor"
DisplaySize 305 230
HorizSync 29-35
Identifier "Monitor[0]"
ModelName "800X600@56HZ"
VendorName "--> VESA"
VertRefresh 50-60
UseModes "Modes[0]"
EndSection
其中,
Identifier:显示器的惟一名称。在这些名称后面都会加上一个数字,而第一个显示器的代表数字为0(Monitor[0])。
VendorName:显示器制造商名称。
ModelName:显示器类型名称。
HorizSync:与显示器兼容的水平刷新频率范围,其单位为kHz。这个设置值会同时指出是否在此显示器中使用特定的Modeline值。
四、显卡
Section "Device"
BoardName "VMWARE0405"
BusID "0:15:0"
Driver "vmware"
Identifier "Device[0]"
Screen 0
VendorName "VMWare Inc"
EndSection
五、Screen
一个显示器和一个显卡组成一个screen,用Section "Screen"描述,如:
Section "Screen"
DefaultDepth 16
SubSection "Display"
Depth 15
Modes "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 16
Modes "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 24
Modes "800x600" "768x576" "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "800x600" "768x576" "640x480"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
其中
Identifier:定义一个“Screen”名称,以便在“ServerLayout”Section中进行参照。
Device:指定“Device”Section中的名称。
Monitor:指定“Monitor”Section中的名称。
DefaultDepth:默认的色深(Color Depth)位数。
Modes "800x600" "768x576" "640x480" 表示系统会默认先按照800x600的分辨率去适配,如果适配失败,则选择768x576的分辨率继续。
六、Modes
Section "Modes"
Identifier "Modes[0]"
Modeline "800x600" 35.55 800 832 912 1024 600 601 604 620
Modeline "768x576" 33.74 768 792 872 976 576 577 580 596
Modeline "640x480" 23.86 640 656 720 800 480 481 484 497
EndSection
和screen章节中的Modes对应。
七、ServerLayout
Section "ServerLayout"
Identifier "Layout[all]"
InputDevice "Keyboard[0]" "CoreKeyboard"
InputDevice "Mouse[1]" "CorePointer"
Option "Clone" "off"
Option "Xinerama" "off"
Screen "Screen[0]"
EndSection
ServerLayout”Section主要用于建立X Server启动时的外观,其中:
Identifier:此ServerLayout Section的惟一名称。
Screen:“Screen”Section指定的名称
InputDevice:在X Server中的“InputDevice”Section名称。通常在此仅有两行设置,即Mouse[0]和Keyboard[0],也就是系统中的第一个鼠标和键盘,而其他的设备大多可以忽略。