XF86Conifg文件详解

发表于:2007-06-22来源:作者:点击数: 标签:
作者: .net fox X-Window系统给我们提供了许多配置工具,但最终也是生成了一个配置文件:XF86Config,它存放在/etc/X11目录下。如果你能够直接读懂它,那么对其做一些小的调整,那将是十分容易的事。现在我们就一起来分析一下这个配置文件。 它分成了许多个

   
  作者:.netfox
  
  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"表示Server Flags小节的开始,EndSection表示该小节的结束,其中有以下几个配置项:
   1) NoTrapSignals:不捕捉信号,在错误发生时直接dump产生Core文件。若启用这项设置将可能导致控制台不稳定,不过对于高手而言,dump产生的core文件有利于纠错。建议不启用。
   2) DontZap:取消使用Ctrl+Alt+Backspace组合热键退出X Window系统的功能。默认是注释掉它,也就是说可以使用Ctrl+Alt+Backspace组合热键退出X Window系统。建议不启用。
   3) DontZoom:取消使用Ctrl+Alt++和Ctrl+Alt+-组合键切换显示模式的功能。默认是注释掉它的,也就是说可以使用这两个组合键进行显示模式的切换。建议不启用。
   4) DisableVidModeExtension:禁示使用xvidtune程序调整画面。
   5) AllowNonLoaclXvidtune:允许使用非本地端的xvidtune程序
   6) DisableModInDev:关闭动态变更输入设备的设置
   7) AllowNonLocalModInDev:允许非本地端变更键盘和鼠标的设置
   注:xvidtune程序是X windows中提供的一个应用程序,它用来调整画面显示大小和位置的程序。
  
  三、 键盘配置小节
   设置各式键盘,在此可以指定键盘的传输协议、语系、信号、字符对照表,下面是一个配置实例:
  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”、“aclearcase/" target="_blank" >ccessx”、“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:指定X window采用的键盘规范文件,除非有特殊需要(使用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:将双键

原文转自:http://www.ltesting.net