红联Linux门户
Linux帮助

XF86Conifg文件详解

发布时间:2005-09-09 14:07:45来源:红联作者:晴
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中提供的一个应用程序,它用来调整画面显示大小和位置的程序。
文章评论

共有 3 条评论

  1. thej 于 2005-09-26 00:51:16发表:

    不错,认证就爱弄这些

  2. 晴 于 2005-09-09 14:08:40发表:

    XF86Conifg文件详解之三

    五、 显示器配置小节

    设置显示器的水平、垂直扫描频率,同时定义各个显示模式与扫描频率之间的对应关系。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大小的桌面

  3. 晴 于 2005-09-09 14:08:12发表:

    XF86Conifg文件详解之二

    三、 键盘配置小节
    设置各式键盘,在此可以指定键盘的传输协议、语系、信号、字符对照表,下面是一个配置实例:
    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