其实设置 XFree86 的动作并不限定要在安装好 XFree86 便要做的,只要在您第一次执行 startx 之前设置好即可,不过还是先做会比较好啦 ^_^
要设置 XFree86 您有几种方式可以选用┱
?xf86config = shell script 问答模式
?xf86cfg -textmode = 文字选单模式
?xf86cfg = 图型选单模式
?XFree86 -configure = 自动产生模式
除了 XFree86 自动产生模式外,其余三种您皆可以执行指令方式进入,或由 /stand/sysinstall 接口来进入;底下是经由
/stand/sysinstall = Configure = XFree86
后所看到的画面┱
您可以每种都试试,看看何种较能得您欢心。但在这儿请容许逸晨偷个懒,将以『自动产生模式』的方法来产生设定档,因为它是所有的模式中最方便的一种了 ^_^
请以 root 身份执行如下指令┱
shell# XFree86 -configure
下达指令后,系统会自动为您侦测所使用的硬件装置,以便设定 X-Window 所需要的设定。您会需要等待一些时间,大约是会让您误以为已经当机那么久 ^_^
请您务必给些耐心等候哟,不过若是超过了五分钟还是没有任何反应的话,那就真的很可能是当机了,但机率可说等于零,除非是您的硬件配备有问题 (比如┱显示卡)。
当完成之后,您可以在 /root/ 目录下发现有个 XF86Config.new 档案,这就是最初步的设定档了,请将它搬移到 /etc/X11/ 目录下,并改名为 XF86Config。
shell# mv /root/XF86Config.new /etc/X11/XF86Config
此时请不要心急哟,您还需要为此设定档做些善后工作。在开始之前,请先快速看一下最原始的 XF86Config 吧!
底下是针对 XF86Config.new 所做的解说┱
ServerLayout
Section "ServerLayout"Identifier
"XFree86 Configured"Screen
0
"Screen0" 0 0InputDevice
"Mouse0" "CorePointer"InputDevice
"Keyboard0" "CoreKeyboard"EndSection
这一个区域是指定要使用哪一个装置设定组。您可以为您的 X Window 设置多组不同设定的装置配置设定值,不过通常都是只会使用固定的一组,因此您只需要只道这是做啥用途的即可,无需去改变它的设定。
Files
Section "Files"RgbPath
"/usr/X11R6/lib/X11/rgb"ModulePath
"/usr/X11R6/lib/modules"FontPath
"/usr/X11R6/lib/X11/fonts/misc/"FontPath
"/usr/X11R6/lib/X11/fonts/Speedo/"FontPath
"/usr/X11R6/lib/X11/fonts/Type1/"FontPath
"/usr/X11R6/lib/X11/fonts/75dpi/"FontPath
"/usr/X11R6/lib/X11/fonts/100dpi/"EndSection
这个区域是用来指定字型、模块、配色等等的相关路径位置,通常您会需要变动的大概就是字型的路径所在了。目前所呈列的是于安装 X Window 时所预设安装的,即使您已先安装好其它的字型,XFree86 -configure 指令在侦测时,并不会为您将自行安装的字型路径给添加上,所以您很有可能需要自行手动编辑,将额外安装的字型路径给加上。比如为了要能够有个漂亮、且亲切的窗口中文使用界面,您会需要安装国侨中文字型与文鼎中文字型,这时您就需要将这两组字型的路径给加入这个设定区域。如下┱
--- 省略 ---ModulePath
"/usr/X11R6/lib/modules"FontPath
"/usr/X11R6/lib/X11/fonts/TrueType"FontPath
"/usr/X11R6/lib/X11/fonts/local"FontPath
"/usr/X11R6/lib/X11/fonts/misc/"--- 省略 ---
通常我们会将较常使用到的字型摆放于第一顺位,这样子的显示会得到较佳的效率。不过如果您若是发觉 X Window 不是很稳定的话,有时调整一下字型路径的顺序是会有所帮助的哟!!
Module
Section "Module"Load
"dbe"Load
"dri"Load
"extmod"Load
"glx"Load
"pex5"Load
"record"Load
"xie"Load
"xtrap"Load
"speedo"Load
"type1"EndSection
这是设定加载的模块区域。您如果有自行安装 TrueType 字型时,您会需要增加一行 Load "xtt" 的设定,当然,一样是摆放在第一顺位喽 ^_^
InputDevice -- Keyborad
Section "InputDevice"Identifier
"Keyboard0"Driver
"keyboard"EndSection
这儿是设定键盘的区域。除非必要,不然使用默认值即可。
InputDevice -- Mouse
Section "InputDevice"Identifier
"Mouse0"Driver
"mouse"Option
"Protocol" "MouseSystems"Option
"Device" "/dev/sysmouse"EndSection/pre
这是设定鼠标的区域。基本上您并不需要改变这里的设定值,不过如果您是使用有滚轮的鼠标时,您会需要编修一下鼠标的设定区域。如下┱
Section "InputDevice"Identifier
"Mouse0"Driver
"mouse"Option
"Protocol" "MouseSystems"Option
"Device" "/dev/sysmouse"Option
"ZAxisMapping" "4 5"EndSection
启用滚轮的关键处在于将滚轮视为鼠标的第四键与第五键,而这个对映的设定就是 Option "ZAxisMapping" "4 5",相信您在看到 Mapping 的字样应该就不难理解了。如果您发现您无法成功的在 X Window 下驱动鼠标或是滚轮的功能,您可以试着将 Option "Protocol" "MouseSystems" 改为 Option "Protocol" "Auto",让系统改采自行侦测的模式。
Monitor
Section "Monitor"Identifier
"Monitor0"VendorName
"Monitor Vendor"ModelName
"Monitor Model"EndSection
这是设定屏幕的区域。这关系到您是否能愉快使用 X Window 的第一步。您需要为您的屏幕指定可用的扫描频宽,您需要拿出您的硬件清单列表来查看了,并将相关的频宽数值给编写进来。如下┱
Section "Monitor"Identifier
"Monitor0"VendorName
"Monitor Vendor"ModelName
"Monitor Model"Horizsync
30 - 80# 垂直扫描频宽VertRefresh
47 - 150
# 水平扫描频宽EndSection
再来是定义屏幕在每个分辨率所要使用的扫描频率 (Modeline),这需要有这方面的知识才有办法换算该设定值,若是胡乱设定,小心很有可能会烧坏您的屏幕哟!!所幸有个好用的工具 xvidtune 可以帮咱们取得设定值。
Modeline 的格式如下┱
Modeline
"分辨率值"
频宽
水平扫描频率
垂直扫描频率
额外参数
这个设定值并非必需的,如果您觉得整个画面看起来并无不妥的话。
在执行 xvidtune 并取得 Modeline 的设定值之后,将其覆制并贴上于此区域中,如下┱
Section "Monitor" Identifier
"Monitor0" VendorName
"Monitor Vendor" ModelName
"Monitor Model" Horizsync
30 - 80# 垂直扫描频宽 VertRefresh
47 - 150
# 水平扫描频宽 Modeline "1024x768"
94.50
1024 1072 1168 1376
768 769 772 808
+hsync
+vsyncEndSection
请特别注意,您我所使用的屏幕设定值是不太可能会相同的,所以在这个区域的设定值请勿直接套用,以免造成屏幕烧毁。
Device
Section "Device"
### Available Driver options are:-
### Values: : integer, : float, : "True"/"False",
### : "String", : " Hz/kHz/MHz"
### [arg]: arg optional
#Option
"SWcursor"
# []
#Option
"HWcursor"
# []
#Option
"NoAccel"
# []
#Option
"ShowCache"
# []
#Option
"ShadowFB"
# []
#Option
"UseFBDev"
# []
#Option
"Rotate"
# []
#Option
"VideoKey"
#
#Option
"FlatPanel"
# []Identifier
"Card0"Driver
"nv"VendorName
"NVidia"BoardName
"GeForce2 MX/MX 400"BusID
"PCI:1:0:0"EndSection/pre
这个区域是设定您的显示卡的。与键盘相同,基本上无需再做其它的设定修改,除非您知道您将要做什么。
Screen
Section "Screen"Identifier "Screen0"Device
"Card0"Monitor
"Monitor0"SubSection "Display"Depth
1EndSubSectionSubSection "Display"Depth
4EndSubSectionSubSection "Display"Depth
8EndSubSectionSubSection "Display"Depth
15EndSubSectionSubSection "Display"Depth
16EndSubSectionSubSection "Display"Depth
24EndSubSectionEndSection
这算是戏肉了。这个区域指定您的桌面要使用多少色素数目来显现影像,以及指定使用的分辨率。
您需要指定预设使用的色系组,并于该色系组中指定使用的分辨率。当然,您也可以同时设定多组色系,以便日后切换使用。通常来说,除非您是对色彩很敏感的人,不然指定使用 16bit 的色系组即可。因为使用愈高的色系组,虽然色彩会更鲜艳 (对色彩不敏感的人应该是感觉不出来 -- 比如逸晨 ^_^),但相对的系统也需要花费较多的时间来换算,这在较低阶的装置配备时,将会造成系统许多额外的负担。因此建议您,除非真的需要,不然就选用 16bit 的色系组吧。
您可以将永远都用不到的色系组去除,仅留下要使用的色系组。编修后的内容如下┱
Section "Screen"Identifier "Screen0"Device
"Card0"Monitor
"Monitor0"DefaultColorDepth16# 指定预设使用 16bit 色系组,X Window 会从 Depth 16 的组态中读取相关设定值。SubSection "Display"Depth
16Modes
"1024x768" # 指定使用的分辨率Virtual
1024 768 # 指定使用虚拟桌面的大小