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

来源:岁月联盟 编辑:zhu 时间:2008-01-17
FreeBSD连载46:使用XF86Setup配置X服务器内容简介:【FreeBSD教程】使用XF86Setup配置X服务器 XF86Setup是在图形界面下运行的设置程序,它运行在图形界面下,假如系统没有启动 X Window系统,那么它会自动启动一个标准VGA模式的X服务器,因此这就要求F

  【FreeBSD教程】使用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/SuperProbeSuperProbe 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 booksBug reports are welcome, and should be sent to XFree86@XFree86.org.In particular, reports of chipsets that this program fails tocorrectly detect are appreciated.Before submitting a report, please make sure that you have thelatest 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服务器,所需要作的只是调整相应的设备文件的不同。

图片内容