电脑技术学习

FreeBSD连载(46):使用XF86Setup配置X服务器

dn001

使用XF86Setup配置X服务器

  XF86Setup是在图形界面下运行的设置程序,它运行在图形界面下,如果系统没有启动 X Window系统,那么它会自动启动一个标准VGA模式的X服务器,因此这就要求FreeBSD系统内 必须安装了XFree86的VGA模式的服务器XF86_VGA,XF86Setup首先使用缺省设置启动这个16色 、640x480分辨率的X服务器,然后再运行XF86Setup设置程序本身。

  但如果已经启动了X服务器,使用这个设置程序进行重新设置X服务器的话,那么就会 使用现有的X服务器。XF86Setup还会询问是否以现有设置为基础进行设置,如果X Window运行 正常的情况下,应该以现有设置为基础进行修改,而不必完全重新进行设置。

  XF86Setup配置程序的显示如上图显示,它显示了可供操作的六个选项,设置鼠标的 Mouse选项,设置键盘的Keyboard,设置显示卡的Card选项,设置显示器的Monitor选项,设 置显示模式 ── 分辨率和刷新频率的Modeseletion选项,以及设置一些其他X服务器的选项 Other,除了最后一个选项之外,每个选项都需要重新设置。

  在XF86Setup中可以使用鼠标或键盘进行操作,通常键盘都是标准键盘,因此不需要 额外设置,而鼠标需要额外的检测和设置。设置程序会试图检测计算机上所使用的鼠标类型 和端口,以对鼠标进行探测。如果FreeBSD系统配置并运行了moused,XF86Setup就毫无问题 的检测出这个伪鼠标设备,供使用者使用鼠标进行操作。如果没有使用moused,就有检测鼠 标就可能失败,使用者就只能使用键盘进行操作。

  在这个设置界面下,首先可以使用回车,首先进入鼠标选项的设置界面,这样可以 首先设置鼠标,鼠标设置完毕之后就能使用鼠标进行下面的各项操作了。与大部分应用程序 相同,键盘操作使用的基本键是Tab与Enter,Tab用于在各个设置选项之间切换,Enter用于 选择相应的选项。

  第一次进行操作时将出现上图所显的对话框,阅读过其显示的信息之后,就可以确 认,以进入各项设置的操作过程。

  • 设置鼠标

  设置X服务器的第一步就是要配置鼠标,鼠标是X Window的必需设备,如果没有设置 鼠标,X服务器就不能正确启动。如果已经使用Sysinstall配置好了控制台鼠标守护进程moused ,那么鼠标就能被正确侦测到,这就能略过设置鼠标的步骤,直接进入下一个设置选项。

  moused守护进程在后台维护着/dev/sysmouse这个伪设备,将鼠标物理端口送来的鼠 标移动和点击数据转化为这个伪设备上的鼠标操作数据,那么X服务器就能使用/dev/sysmouse 这个设备文件作为鼠标设备,使用SysMouse作为鼠标类型,而不必管真实的鼠标端口和类型。 使用moused的一大好处就是鼠标设备由moused维护,而与X服务器无关,因此不会因为鼠标的 问题造成X服务器的故障。因此一般情况下,应该使用moused来维护鼠标设备。

  如果不打算运行moused来管理鼠标设备,此时就需要根据鼠标的具体类型和连接到 的具体端口,来选择对应的正确设备文件,来为X服务器设置鼠标。如果鼠标是接在第一个 串行端口sio0上,那么对应的设备为/dev/ttyd0,第二个串口设备为ttyd1,而常用的串口 2键鼠标为Microsoft类型。其他设备文件包括对应PS/2鼠标的psm0,对应总线鼠标的mse0等 。但是在moused正常启动的条件下,真实的物理端口就不能正常工作了。

  当没有使用moused的时候,就需要使用键盘进行操作。键盘操作就比较繁琐,但设 置完毕之后,可以立即选择右边的按钮 “Apply” ,使鼠标可以立即发挥作用,此后就能使 用鼠标进行其他操作了。如果鼠标设置正确,该界面上右边的鼠标图形中的按键会随鼠标按 键而闪动,其位置坐标会随鼠标移动而改变。

  除了基本的鼠标类型和端口之外,鼠标选项中还有很多参数可以调整,其中一个重 要的参数为 “Emulate3Button” ,因为X Window系统习惯上使用3键鼠标进行操作,很多功 能用到了鼠标的第三个键。而普通个人计算机鼠标是2键鼠标,那么就需要使用2键模拟中键 的功能,选择这个选项就使得在同时按下鼠标的左右2键时,X服务器将这个动作解释为按下 了第三个键 ── 中键。当然如果计算机上本来就是使用3键鼠标,就不必考虑这个问题了。 鼠标还有一些其他设置,如解析率、移动速率等,一般使用缺省值,不需要改动。

  注意:在使用moused的情况下,映射的sysmouse伪设备本身就为一个3键鼠标,因此 Emulate3Button选项就会失效。需要使用moused的 “-3” 参数,在moused中打开双键模拟第 3键的功能。

  • 键盘设置

  接下来就需要配置键盘,缺省设置为标准101键的PC键盘,就在标准个人计算机下正 常工作,因此对于快速配置X服务器,可以略过这一步配置。当然也可以根据实际选择102键 标准键盘或104键Windows95标准键盘,其他种类的键盘在个人计算机平台上很少见到。

  这个部分中的其他设置是为了与Unix工作站使用的键盘相兼容,而对键盘上的功能 键Ctrl、Shift等重新映射它们的位置和定义。主要是因为专用工作站键盘中的控制键的位 置与标准PC键盘不同,使用这些设置就能使标准PC键盘适合习惯于专用工作站键盘的使用者 。这些设置一般根据使用者的个人习惯而定,对于习惯个人计算机键盘的使用者,一般不需 要改变这些设置。

  • 设置显示卡

  对于X Server的设置来将,最重要、也最困难的一步就是设置正确的显示卡类型, 当前的X服务器已经相当完善,有能力自行检测显示卡的硬件种类,因此甚至可以不配置这 个选项,而留给设置系统来确定。此时就可以跳过这个设置步骤。

  然而对于个人计算机平台来讲,硬件种类过多,并且不同的号称兼容的硬件事实上 存在细微兼容性问题,自动检测并不能保证百分之百检测正确,因此如果自动检测的结果 不能使X服务器正常工作,就需要手工指定显示卡硬件的类型,及相应的参数。显然手工设 置这些参数不是一个简单的事情,需要对自己计算机的硬件有相当了解,最好阅读README 文件(左边按钮),并进一步阅读/usr/X11R6/lib/X11/doc目录下的相关文档,以了解清 楚硬件配置。

  此时,XFree86的自动检测信息也对了解硬件配置信息很有帮助,XFree86提供的程 序SuperProbe可以用来来检测当前计算机使用的硬件,这个程序将探测显示卡的硬件设置, 并将结果返回给用户,帮助用户设置系统。

# /usr/X11R6/bin/SuperProbe

SuperProbe Version 2.18 (22 December 1998)
        (c) Copyright 1993,1994 by David Wexelblat 
        (c) Copyright 1994-1998 by The XFree86 Project, Inc

        This work is derived from the 'vgadoc2.zip' and
        'vgadoc3.zip' documentation packages produced by Finn
        Thoegersen, and released with all appropriate permissions
        having been obtained.  Additional information obtained from
        'Programmer's Guide to the EGA and VGA, 2nd ed', by Richard
        Ferraro, and from manufacturer's data books

Bug reports are welcome, and should be sent to XFree86@XFree86.org.
In particular, reports of chipsets that this program fails to
correctly detect are appreciated.

Before submitting a report, please make sure that you have the
latest version of SuperProbe (see http://www.xfree86.org/FAQ).

WARNING - THIS SOFTWARE COULD HANG YOUR MacHINE.
          READ THE SuperProbe.1 MANUAL PAGE BEFORE
          RUNNING THIS PROGRAM.

          INTERRUPT WITHIN FIVE SECONDS TO ABORT!

First video: Super-VGA
        Chipset: ATI 264GT3 (3D Rage III) (Port Probed)
        Memory:  2048 Kbytes
        RAMDAC:  ATI Mach64 integrated 15/16/24/32-bit DAC w/clock
                 (with 6-bit wide lookup tables (or in 6-bit mode))
                 (programmable for 6/8-bit wide lookup tables)
        Attached graphics coprocessor:
                Chipset: ATI Mach64
                Memory:  2048 Kbytes

  XF86Setup提供的显示卡设置界面有两种,一种是以各种具体不同的显示芯片列表的 方式进行显示的,如上图所示,但显示卡上的其他硬件设置都是通过自动检测进行探测。另 一种依据X服务器的种类进行划分,可以指定芯片的具体类型、显存的容量等一些参数的设 置。一般可以选择Detailed Setup按钮,设置X服务器的具体参数。

  在这个Detail Setup的设置方式中,能选择不同的X服务器,并设置芯片、显存、时 序等具体的硬件参数,由于X服务器能够自动探测到系统中的这些参数,一般不必设置这些 值。最重要的是要在选择要使用的正确X服务器,这是因为每一种X服务器只能支持部分种类 的显示芯片,如果选择的X服务器不支持实际使用显示芯片,那么肯定不能正确检测出显示 硬件的各个参数。因此需要根据显示芯片来确定X服务器,而XFree86的文档中提供了那种X 服务器支持那些显示芯片的相关信息。

  必须注意的是,这里选择的X服务器一定要在安装过程中安装到系统中了,否则就找 不到正确的X服务器程序,也不可能正确启动X Window系统。

  • 显示器类型

  接下来要确定显示器的类型,当前使用的显示器都为多频显示器,需要选择正确的 水平和垂直同步频率范围。显示器的水平和垂直同步频率范围决定了显示器的分辨率和刷新 频率能力,超过这个频率范围将使显示器不能正常工作,甚至损坏显示器。实际上显示器的 分辨率和该分辨率下刷新频率这两个参数才是使用者最关心的数据,也是用来判断显示器能 力的最基本参数,此外还有一些参数,如色差、辐射等,属于对显示器的更高要求,但它们 对于X服务器的设置没有影响。

  一个显示器的水平和垂直同步频率范围决定显示器在某个分辨率下的最高刷新频率, 反过来,一个给定的分辨率和在此分辨率下的给定刷新频率也能确定显示器的同步频率范围, 因此可以在图上给出的可选的分辨率和刷新速率选项中,选择自己显示器支持的分辨率与刷新 频率的最高值。选择的值太低就不能充分发挥显示器的能力,太高会造成不能正确显示的问题 。因为这个设置比较重要,因此需要查看显示器手册以得到正确的参数设置(另一种方式是通 过从低到高的尝试,来确认正确的设置)。

  当选定了一个显示器的类型时,就也确定了该显示器使用的显示模式,即分辨率和相 应的刷新频率。因此X Window就会使用的相应显示模式,这个模式就可以用于下面的设置。然 而显示器实际能支持的模式要多于这里设置的显示模式,XF86Setup中并没有提供在同步频率 范围内支持的全部分辨率,只是提供了在某个同步频率范围内值得推荐使用的显示模式。虽然 显示器的最小点大小和显示器本身的大小决定了一个显示器最适合的显示分辨率,例如在小显 示器下使用太高的分辨率就没有太大意义(因为实质上并不能区分出两个近邻的点),但是提 供更多的显示模式能适应一些特殊需要。通常对于15英寸显示器最好使用800x600或1024x768 分辨率,17”显示器可以使用1024x768或1280x1024分辨率。

  另一方面,由于一定显示器的水平和垂直同步范围一定,因此如果分辨率提高了,则刷 新频率就不得不降下来,甚至降到隔行扫描的方式,这样显示器将闪烁的厉害,不适合长时间 使用。当分辨率和刷新频率的设置超出水平和垂直同步频率范围,则显示器将不能正常显示。

  • 设置显示模式

  另外一个设置是选择正确的显示模式,XF86Setup从低到高列出一系列分辨率模式和 多个颜色深度供选择。这一步能选择的显示分辨率模式要受上一步设置的显示器支持的显示模 式的限制。在上一步设置中,有的显示器设置中同时设置了多个显示模式选项,此时就能在这 里选择相应的多个显示分辨率,而有的设置仅仅支持部分显示模式,这里就只能使用对应的分 辨率。同时设置多个显示模式的好处是能够动态切换显示模式,但对于正常使用并没有太大必 要。选择的最大分辨率模式将决定X服务器虚屏大小的设置。

  然后可以选择运行X的颜色数,缺省为8bpp,即256色,但由于硬件的发展,显示内存一 般都比较充裕,因此更常使用16bpp、24bpp等设置,使X能使用更丰富的颜色。这个颜色数主要 由显示内存和显示虚屏的大小来决定,虚屏中的每个象素都占用一个颜色深度大小的显示内存 (8bpp为1个字节,16bpp为2个字节等等),而虚屏的大小为该颜色深度下的最大分辨率模式的 大小(可以在以后更改),那么所有虚屏上的象素占用的空间,不能操作显存的大小。一般来将 ,也不应该将虚屏(或颜色深度)设置的占满显存,因为硬件加速卡内部操作会使用空余显存作 缓冲区,占满显存就会影响硬件加速能力。

  • 其他设置

  其他选项中主要设置一些X服务器的属性标志,如是否可以使用Ctrl-Alt-BackSpace热键 退出X服务器,是否允许动态切换显示分辨率,是否捕获各种信号,是否允许从其他计算机上使用 xvidtune或类似程序改变当前显示分辨率模式,是否许可从其他计算机的X客户程序更改服务器的 键盘和鼠标设置等。

  一般均使用缺省设置,如果管理员要提供更大的限制,例如不允许使用热键退出而必须使 用正常的退出方式等,就应该改动缺省设置。

  • 保存设置启动X服务器

  所有的选择结束之后,就可以选择这个对话框最下端的Done按钮,XFree86将按所配置的 参数重新启动相应的X服务器。如果配置正确,那么X服务器将会正确启动,进入设置好的图形系 统。

  这个时候选择菜单的第一项可以运行xvidune,XF86Setup在这里提供了一个对显示模式 进行微调的机会。显示器出厂设置的时候,只有最常用的显示模式才被调整到最佳设置,其他模 式的设置并不位于最佳设置,在宽、窄、高、低等方面均不是最佳设置。这样在显示器的显示模 式切换的时候,常常会发生显示器所显示的内容不在屏幕正中,或者高度、宽度不正常,这种问 题一般可以通过调节显示器下面的按钮来纠正。然而对较早的模拟式显示器来讲,调整一个显示 模式的设置,就会影响其他显示模式(例如字符模式)的显示,这样就不适合经常切换显示模式 的情况。对于数字式显示器就不存在这个问题,因为显示器能记忆多个显示模式的设置数据,因 此现在一般不需要使用这个调节程序,而直接使用显示器的调整按钮。

  然而xvidtune也能帮助纠正显示模式的偏差,而且无须调整显示器下的任何旋钮,这尤其 对于旧式显示器就更为重要。它通过微调显示模式使用的扫描频率,直接纠正这个问题。因此就可 以执行xvidtune调整显示,当一切正常之后,退出xvidtune时,设置程序将从xvidtune中获得当前 使用的扫描频率,并将其保存到设置文件中。如果在设置程序之外执行xvidtune,不会自动保存调 整结果,而需要手工更改设置文件。

  xvidtune能改变显示模式,也可能超出显示器支持的能力之外,早期的固定频率的显示器 可能会因此造成损坏,现代多频显示器不会因为短时间的模式超范围使用,造成过于严重的后果。 但仍然需要小心操作。xvidtune窗口中显示有调节参数的按钮,每点按一次改变一些参数之后, 应该先使用Test来看看有无问题,再使用Apply来确认改变。一旦显示内容变的不可分辨,表示设 置超出了显示器的能力,就应该迅速使用Ctrl、Alt和Backspace组合键将X杀死,以避免长时间超 范围使用显示器,而对显示器造成损坏。

  使用xvidtune或数字式显示器的调节键将模式调节正确之后,然后选择第二项,将结果保 存到前面指出的配置文件中,缺省为/etc/XF86Config,这就是XFree86的X服务器使用的配置文件 。退出XF86Setup之后,就可以使用startx来启动X Window了。

  X服务器如果不能正确启动,说明前面的配置中出现了错误。此时可以重新进入设置程序, 并重新开始进行设置。需要更仔细的修改相应的配置,以避免错误再次发生。配置错误主要发生在 显示卡硬件的设置上,但也要注意显示器的设置不要超过显示器的实际显示能力。

  当确信XFree86的当前版本不支持所使用计算机的显示硬件,就只能使用16色的标准VGA模 式,或者购买Xi Graphics等商业公司X服务器。一些Linux版本,具备新型显示硬件的XFree86的补 丁或X服务器,FreeBSD的使用者可以从补丁出发重新编译支持新硬件的X服务器,或者直接运行Linux 的X服务器,所需要作的只是调整相应的设备文件的不同。

未完,待续。。。  

标签: