freebsd完全新手指南
                --------X配置
              jiang-jian
(Freelab注:  FREEBSD中X window的设置可参考LINUX中的X设置相关资料,二者基本相同)

                如何架设X Window System.
                FreeBSD完全初学者手册
                本章取自``The Comprehensive FreeBSD Guide(TM)''的一小部分,
                本书在Chris Coleman和Mark Mayo的努力下在进上步完成中.而本节
                旨在指导人们通晓X Window System 的安装和定制.如有任何特别的
                系统要求和配置,请垂询fbsd-book@vmunix.com
                内容:
                1. 安装X binaries
                2. X的硬件配置
                3. 开始X
                4. 选择一个X 窗口管理者(X window manager)
                5. X的提示与技巧

                1. X Window System 是运行在UNIX上的图形用户界面.在你可得到的
                X Window System中是有许多区别的,然而,XFree86是免费的. XFree96
                是从FreeBSD计划中分离出来的一个自愿计划,但也包含在FreeBSD的光
                碟中.你可在http://www.xfree86.org. 取得更详细的信息,这里提到的
                X或X Window System 指的是XFree86. 要是想获得FreeBSD 的商业版的
                X Window Systems 可以去www.xig.com. 看看.

                在一个标准的FreeBSD的安装过程中,你也可同时安装X Window System,
                或是在系统已建立并运行后再来安装X Window System. 在FreeBSD安装
                中,X是被包含在若干个Distribution Sets 中的.
                它们包括
                X User
                X Developer
                Everything
                如你已安装了以上之一,那么X就已经在你的硬盘上了,你可以跳过下面的
                内容而直接开始配置.
                在Custom安装模式中,你可将X Window System的安装作为普通安装的一部
                分来进行.若你没有安装包含了X Window System的Distribution Set的话,
                 在post-install的配置菜单中你还有第二次机会来安装它.在post配置菜
                单中,选择Distributions 再选
                 X Window Distribution就行了.

                如果你的系统已经运行,你可从ports collection中安装.你要以root的身份
                来做这事:
                cd /usr/ports/x11/XFree86
                然后再打:
                make install

                你也可从FTP站点上把源代码当下来,并编译安装.此过程所需的时间,依赖于
                你的机子的速度.

                2.X的硬件配置
                2.1 xf86config
                2.2 XF86Setup

                在为你的硬件配置X前,你需先了解你的硬件.有三件事你绝对要弄明白(或者最
                低限度你要猜准):
                鼠标的类型和它接在哪个端口上(是 PS/2 还是在串口COM1上)
                你的显卡的牌子(可是要被支持的牌子哦)
                你的显示器的水平和垂直刷新率.(可在显示器手册中找到)

                如果你清楚了以上三样东西的话,那么配置X就是非常容易的了。剩下的只是
                个人品味和地理上的语言环境问题了。当你已经有了这些数据之后,你可以用
                文本式配置程序(xf86config)或图形式配置程序(XF86Setup)来进行配置。
                用了其中一个来配置,就不必再用另一个了。

                2.1  xf86config
                xf86config放在/usr/X11R6/bin/中。如果在那里还找不到这个配置工具的话,

                你也可以直接打xf86config来启动。否则,你就打/usr/X11R6/bin/xf86config

                吧。你要以root的身份来做。

                进入以后,第一件事就是会问你的鼠标类型是哪种:
                先指定一个鼠标类型。可从以下的列表中选择:

                 1.  Microsoft compatible (2-button protocol)
                 2.  Mouse Systems (3-button protocol)
                 3.  Bus Mouse
                 4.  PS/2 Mouse
                 5.  Logitech Mouse (serial, old type, Logitech protocol)
                 6.  Logitech MouseMan (Microsoft compatible)
                 7.  MM Series
                 8.  MM HitTablet
                 9.  Microsoft IntelliMouse

                从1-9中选择你的鼠标类型。如果你选择了一个三键鼠标的话,程序会问
                你是否要启用中键,它叫做ChordMiddle:
                请用y或n来问答下面这个的问题:
                Do you want to enable ChordMiddle?

                如果你键入n,接下来程序就会问你是否要仿真中键。你可以同时按下
                左右两个键来仿真中键,X会当成你有下了中键了。
                请用y或n来问答下面这个的问题:
                Do you want to enable Emulate3Buttons?
                接下来程序会问你的鼠标接在哪一个端口上。
                现在程序会给出一个鼠标联结的设备名,例如/dev/tty00。你跟着按enter就行了
                ,
                程序会用默认值:/dev/mouse。

                鼠标设备:
                鼠标通常是联在com1,com2或者PS/2端口上的。

                /dev/ttyd0 (COM1)

                /dev/ttyd1 (COM2)

                /dev/psm0 (PS/2 Port)

                接下来,程序会问你是否要重新设置你的键盘布局,别理它,跟着按enter就行了
                。
                请按y或n来回答下面的问题:
                Do you want to use XKB?
                这是问你要不要特殊的语言支持,如果你只是说英语的话,跟着按enter就行了。
 

                如果你要输入特殊的语言符号,即要在X中输入非ACSII字符的话,你可将左Alt键

                设为Meta,右Alt键设为ModeShift。
                请按y或n来回答下面的问题:
                Do you want to enable these bindings for the Alt keys?

                这些是在你的显示器手册中的水平刷新率。如果你不知道你的显示器的刷新率的
                话,
                选择#2是相当安全的。不要选择比你的显示器的最高刷新率还要高的设置。否则
                有
                可能会对一些老显示器造成伤害。
                刷新率用kHz做单位,用典型的模式来表示显示器类型
                 1  31.5; Standard VGA, 640x480 @ 60 Hz
                 2  31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
                 3  31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x6
                00)
                 4  31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced,
                     800x600 @ 56 Hz
                 5  31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz

                 6  31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 H
                z
                 7  31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
                 8  31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
                 9  31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
                10  31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
                11  Enter your own horizontal sync range
                输入你的选择(1-11):

                你还要输入显示器的垂直刷新率。同样,#2是一个普通的SVGA设置。
                 1  50-70
                 2  50-90
                 3  50-100
                 4  40-150
                 5  Enter your own vertical sync range
                输入你的选择吧。

                下面这个问题用y来回答,它会在显卡数据库中搜索你的显卡。
                Do you want to look at the card database?

                下面这个列表中,左边是卡的名字,右边是卡的芯片
                 0  2 the Max MAXColor S3 Trio64V+                    S3 Trio64V+
                  1  928Movie                                          S3 928
                  2  AGX (generic)                                     AGX-014/15/16
                  3  ALG-5434(E)                                       CL-GD5434
                  4  ASUS PCI-AV264CT                                  ATI-Mach64
                  5  ASUS PCI-V264CT                                   ATI-Mach64
                  6  ASUS Video Magic PCI V864                         S3 864
                  7  ASUS Video Magic PCI VT64                         S3 Trio64
                  8  ATI 3D Pro Turbo                                  ATI-Mach64
                  9  ATI 3D Xpression                                  ATI-Mach64
                 10  ATI 3D Xpression+ PC2TV                           ATI-Mach64
                 11  ATI 8514 Ultra (no VGA)                           ATI-Mach8
                 12  ATI All-in-Wonder                                 ATI-Mach64
                 13  ATI Graphics Pro Turbo                            ATI-Mach64
                 14  ATI Graphics Pro Turbo 1600                       ATI-Mach64
                 15  ATI Graphics Ultra                                ATI-Mach8
                 16  ATI Graphics Ultra Pro                            ATI-Mach32
                 17  ATI Graphics Xpression with 68875 RAMDAC          ATI-Mach64
                输入号码来选择相应的显卡。
                按enter翻到下一页,按q就可继续配置下一步了。

                在接下来的部分中,你可以把X server当成是“显卡的驱动程序”。在显卡数据
                库
                定义中推荐的驱动程序总是会工作得较好的。无论如何,如果你的显卡不在显卡
                数
                据库中的话,你可以选择#5,它包容了在显卡定义中推荐的X server。

                1. The XF86_Mono server。这是一个单色server,它可以工作在任何VGA兼容卡
                上。
                使用640*480的分辨率(甚至可以工作在一些SVGA芯片上)。

                2.The XF86_VGA16 server。这是一个16色VGA server。它可以工作在任何VGA兼
                容
                卡上。

                3. The XF86_SVGA server。这是一个256色SVGA server。它支持许多SVGA芯片。

                在某些芯片上,它还可支持加速或者更高的色深。

                4. The accelerated servers。它包括XF86_S3, XF86_Mach32, XF86_Mach8,
                 XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 和

                    XF86_S3V。

                以上这四种server类型对应于在XF86Config中四个不同的“屏幕”设置部分(vg
                a2,
                vga16,svga,accel)。

                5.从显卡定义中选择server,XF86_S3。

                (未守待续)

                4.   选择一个窗口管理者
                4.1.  twm
                4.2.  fvwm
                4.3.  fvwm95
                4.4.  enlightenment
                4.5.  windowmaker
                4.6.  kde

                在运行X之前,你先要选用一个Window Manager。如果你不选一个窗口管理者的话
                ,
                twm会默认式地自动打开。你要在.xinitrc或者.xsession文件中选择你所要用的

                Window Manger.如果它不存在的话,你就要建一个。
                下面是我的.xinitrc文件的拷贝:

                setenv KDEDIR /usr/local
                startkde
                #color_xterm -geometry 80x24+0+0 &
                #color_xterm -geometry 80x23+-1+341 &
                #color_xterm -geometry 85x24+492+1 -ls &
                #fvwm95
                #fvwm
                #enlightenment

                这里我已经选择了kde作为我的窗口管理者了,我有三个窗口管理者的注释行。你

                可以每次只指定一个窗口管理者。(译者注:此处好像对.xinitrc和.xsession两
                个
                文件的设定好像说的还不是很清楚,请各位大虾对此节做一个补充吧。)

                4.1.   twm
                此窗口管理者是缺省设置。它的界面并不友好并且不支持虚拟桌面。

                4.2.   fvwm
                fvwm 有良好的虚拟桌面,看起来像是Windows 3.1的感觉。现在的Novell 5就是
                用
                fvwm的一个版本来作为它的服务控制台的窗口管理者。在fvwm安装之后,你要把

                fvwm加入你的.xinitrc或者.xsession文件。

                4.3.   fvwm95
                看起来像是一个带着fvwm所有工具栏的Windows 95。非常稳定,并有优秀的虚拟
                桌面。
                它需要自己的配置文件:fvwm95rc。

                4.4.   enlightenment
                一个真正cool的桌面外观。支持插入桌面主题,例如像“aliens"。支持四个虚拟
                桌面。

                4.5.   windowmaker
                允许你按自己的要求来创建和删除虚拟桌面。

                4.6.   kde
                Kde是一个完善的桌面环境。它自带许多工具和程序。Kde在新的用户群中正变得
                越来越
                流行。在ports collection已经安装了的前提下,才能安装kde。现在只有一种办
                法来
                安装kde。
                cd /usr/ports/x11/kde make install

                5.   X的提示和技巧
                ctrl + alt + backspace
                关闭 X并退到shell。

                ctrl + alt + keypad plus
                以列表中的顺序来改变屏幕的设定。

                ctrl + alt + keypad minus
                改在列表中前一个屏幕设定。

                ctrl + alt + F1
                跳出X到ttyv0

                alt + F4
                从tty's跳回X(如果X是在ttyv4上)

<返回>