X 窗口系统是在 NetBSD 及许多 Unix(和非 Unix)上所使用的 图形化的环境。事实上则不仅只于此:感谢 X 协议的使用,X 窗口系统是可以"由网络传送"的,而且可以执行 来自他处的应用程序(主-从架构)。这表示你可以执行在主机 (使用者端)上的应用程序,经由传送将它的图形化输出展示到 另一台主机(服务器)上;传送是表示你不需要修改应用程序来 达到这个效果。X 窗口系统是由 X 协会所制造和维护的而现今的 版本是 X11R6。NetBSD 上常用的 X 是 XFree86,一个免费的 X 窗口系统并有可散布的开放原始码。
当你开始使用 X,你将会发现许多令人困扰的新的术语。 要使用 X 的基本要件有:
XFree86 支持的显示卡。
X server 是用来在硬件上执行的。 X server 提供了开启窗口的标准,产生图形(包含字型和文件 的展示),和接受鼠标/键盘/或其它的输入。X 是可以网络传送 的,你可以在一台机器上执行 X 应用程序而在另一台机器上执行 X server(如,使用显示卡来展示)。
窗口管理者执行在 X server之上。 窗口管理者基本上是一个特别的应用软件,它允许你控制窗口 的配置。它也可以"装饰"窗口,利用标准化的 "widgets"(通常这些提供了窗口的移动,缩放, 图示化,和一些其它的作用)。窗口管理者也可以提供背景等。 窗口管理者也可以让你经由点取其它的窗口来做关闭窗口/程序 的工作,所以是如此强大。
桌面管理者(选择性的)。例如 KDE 和 GNOME 都是:他们进行了一定程度的软件整合,让你使用事 先定义好的程序并且每个程序都有或多或少的共通接口,这些包 含求助文件浏览,或是"经由桌面"存取你的档案 系统,用个人化的终端机取代 xterm,软件开发环境,音效, 图形/动画展示工具等。
任何其它的应用程序(3rd party 的 X 应用程序)都可以 和 X server 以及 窗口管理者沟通。除非窗口管理者是 桌面的一部分(如果有的话),在桌面上应该不会看到太多 与这些应用程序相关的东西。(无论如何,如 GNOME 可以 侦测到你所安装的 GIMP,且会在选单中提供 GIMP 的快捷方式)
摘要:要使用图形化环境,你需要
XFree86 系统
窗口管理者(XFree86 已经提供了一个非常基本的窗口管理者, 叫做 twm)。
如果你想要更精巧的环境,你可能会想要安装一个桌面,虽然 至不是必须的。桌面有一些不错的特征,可以帮助一些来自 MacIntosh 或 MS-WINDOWS 环境的使用者(以 KDE 桌面为例, 就和 MS-WINDOWS 非常相似)。
Note: 现在我们可以清楚地知道,像 GNOME 和 KDE 桌面并不提供 X servers。它们执行在由 XFree86 提供的 X servers 之上。 KDE and GNOME 可以使用它们特有的窗口管理者或另外自行安装的。
通常你同时最多只能执行一个窗口管理者在单一的 X server 之上。 (但是在单一的机器可以执行许多 X server)如果你不执行你所选定 的窗口管理者而启动 KDE/GNOME,则桌面环境会自动执行它们特有的 窗口管理者。
如果你在安装时不选择最小安装,则 X 已经被安装且准备在你的 计算机上执行了;你只需编辑 /etc/XF86Config。 要了解这个档案的格式,可以参考 /usr/X11R6/lib/X11/XF86Config.eg。 在 XF86Config(4/5) 中,可以利用以下指令:
# man XF86Config
在设定系统以前,建议你最好先仔细地阅读在 /usr/X11R6/lib/X11/doc 里的文件:有各种 显示卡的 README,关于鼠标甚至是 NetBSD 特有的相关数据。 (README.NetBSD.)我建议以 QuickStart.doc 作为开头。或许你会觉得 其它的系统让你很快地完成,而不需花费心力,但是阅读这些文件 并不会造成时间的浪费:设定 X 的知识在往后是很有帮助的,这 会让你更了解你的硬件(和软件)。
你可以利用编辑器建立 /etc/XF86Config 或 经由交谈式设定程序自动产生。最著名的程序是 xf86config 和 XF86Setup。 前者是文字模式,已经随附在 X 中;后者是图形接口,可由 package 集合安装。
混合使用是个不错的方法:先利用其中一个程序建立 XF86Config, 然后用手动地编辑它。
这两个程序虽然有不同的接口,但都需要相同的信息:
鼠标的种类和所使用的装置
键盘的种类和它的配置
the type of video card 显示卡的种类
屏幕的种类
在设定系统之前,你需要搜集相关的信息。
第一件事要你所使用的鼠标种类(例如,序列或 PS/2, ...)和 鼠标装置(例如,wsmouse 需要不同的协议)。 如果你使用序列鼠标,选择必要的协议和指明所连接的串行端口。 例如,连接在第一个串行端口的序列鼠标:
Section "Pointer" Protocol "Microsoft" Device "/dev/tty00" EndSection
要使用鼠标装置,你必须:
Section "Pointer" Protocol "wsmouse" Device "/dev/wsmouse0" EndSection
在 "Device" 选项中,你也可以指明 /dev/mouse 并使它炼结到适当的装置。 例如:
# ln -sf /dev/wsmouse0 /dev/mouse
即使你已经在 wscons 中设定好了你的键盘,你还是要在 X 中 设定来使用非美式的键盘。
最简单的方法是使用 XKB 协议, 指明键盘的种类和配置。
这是设定程序的缺点所在,你必须手动地修改想要的键盘配置。
# XkbDisable # XkbKeymap "xfree86(us)" XkbModel "pc102" XkbLayout "de" XkbVariant "nodeadkeys"
如果想要使用在你键盘上的 "Windows" 键, 在 XkbModel 选项中使用 pc105 取代pc102。
这是非常重要的,而且必须正确地指明屏幕的水平和垂直更新频率: 正确的屏幕定义可以避免让不兼容的显示卡设定,使屏幕受到伤害。 可以从屏幕的手册中,找到这项信息。在 X 的文件目录中也有包含 许多屏幕的设定文件;可以用作设定的开始。
显示卡可以从自动设定程序的数据库中选择;程序会做必要的设定。
当你选择了正确的显示卡,你必须为它选定一个 X server。通常, 设定程序会自动选择正确的 X server,但是某些显示卡可以被另一 个 server 所驱动(例如,S3 Virge 可被 SVGA 和 S3V server 所 支援);在此情况,可以研读 server 的文件并选择你所需要的: 不同的 server 通常有 不同的能力和不同的角度来支持显示卡。
examined and modified by hand. 当你离开设定程序之后,它建立了 /etc/XF86Config, 可以做进一步的检查和修改。
在启动 X 之前,你应该:
check that the symbolic link 检查炼结档 /usr/X11R6/bin/X 是否指向正确的 X server:
# ls -l /usr/X11R6/bin/X
确认设定是否正确。执行:
# X -probeonly
并仔细地检查其输出。
现在你可以用以下的指令启动 X:
# startx
如果 X 没有启动,可能是设定档有一些错误。
如果 X 能启动但却不如你所预期的情况(例如,不能移动鼠标光标), 你可以使用组合键 Ctrl-Alt-Backspace 做快速地离开(不是所有平台 都有效)。如果一切正常,你可以使用预设的窗口管理者离开 X 环境 (twm):虽然这是一个简单的窗口管理 者,但许多使用者认为已经足够符合他们的需求。如果你想要可以简单 设定的或具有华丽外表的窗口管理者,在 package 集合中,你可以有 许多选择。
要启动个人化的 X,在 xterm 中执行以下指令来改变背景颜色:
# xsetroot -solid DarkSeaGreen
有好几个方法可以使 X 环境看起来更具特色。最简单的方法复制预设档 .xinitrc 到你的所在目录底下并修改它。例如:
# cp /usr/X11R6/lib/X11/xinit/xinitrc ~/.xinitrc # vi .xinitrc
以下的例子展示如何启动窗口管理程序 (twm),立即在屏幕右下角开启 xclock 程序和两个 xterm 窗口。 使用"浅褐"色作为背景。
the first part of the file is the same ... # start some nice programs twm & xclock -geometry 50x50-1-1 & xterm -geometry 80x34-1+1 -bg OldLace & xsetroot -solid Bisque4 & exec xterm -geometry 80x44+0+0 -bg AntiqueWhite -name login
使用这个设定离开 X,你必须关闭最后的 xterm (具有 "login" 标题的)。
即使用这个简单的设定,X 也能有不错的外观。要增加环境的 美观,你可以从 package 集合中安装一些工具。例如:
展示在 rgb.txt 中,所有色彩的定义。 可以用来替背景或 xterm 选择颜色。
让你在背景使用图示。
X 屏幕保护程序。
没有这个 package 就没有桌面,它可以展示 BSD 标记 的位图成两种尺寸。
如果你不喜欢 twm,认为它太简化, 缺乏许多特征,难以设定等,你可以从 package 集合中,选择其它的 窗口管理者。一些较受欢迎的有: fvwm2, olwm/olvwm (Open Look Window Manager), WindowMaker, Enlightenment, AfterStep。
这一段将以 WindowMaker 的安装 作为范例。WindowMaker 是一个具有美观外表又容易设定的窗口 管理者。可以使用编译好的 windowmaker-0.60.tgz package 来安装,而它所依存的 package 也必须安装。,通常, pkg_add 和 make install 都会自动取回需要的 package,所以无须手动地加入。
# cd /usr/pkgsrc/x11/windowmaker # make depends-list xpm-3.4k jpeg-6b pkglibtool-1.2p2 giflib-3.0 libproplist-0.9.1 tiff-3.5.2
Note: 也可以使用以下指令来查看:
# pkg_info -f windowmaker-0.61.0.tgz | grep depends
在安装完需要的 package后,WindowMaker 和预先设定好的 布景主题可以被增加:
# pkg_add windowmaker-0.61.0.tgz wmthemes-0.6x.tgz
现在 WindowMaker 已经安装完成;要启动它,你必须修改你的 .xinitrc 和/或 .xsession: 置换这一行 twm 为 wmaker。例如:
# start some nice programs # start WindowMaker wmaker & xclock -geometry 50x50-1-1 & xdaemon2 -geometry +0-70 & ...此例中,xdaemon 也自动地被启动。
在开始启动 WindowMaker 之前, 必须执行设定程序:
$ wmaker.inst $ startx
如果你总是使用 X 来执行工作,而且在你登入系统后的第一件事 就是执行 startx,你可以设定你的工作站 做图形化登入并自动地完成它。这非常简单:
在你的所在目录建立 .xsession 檔。 这个档案类似于 ~/.xinitrc,甚至 可以使用炼结。
修改 /etc/rc.conf:
xdm=YES xdm_flags="" # x11 display manager或是加入这一行到 /etc/rc.local 档 的结尾以取代修改 rc.conf:
/usr/X11R6/bin/xdm这个方法可以用来启动,如 kdm 或 gdm 以取代 xdm。
xdm 的设定档是在 /usr/X11R6/lib/X11/xdm 目录中。 在 Xservers 档中,X 预设被启动在 vt05 虚拟终端机上;如果你想使用另一个终端机,这就是 修改设定的地方。为了避免键盘同时被 getty 和 xdm 同时 包含它,建议启动 xdm 在一个虚拟终端机巨额关掉 getty。 例如,如果在 Xservers 中你有:
:0 local /usr/X11R6/bin/X :0 vt04
在 /etc/ttys 中你应该有
ttyE3 "/usr/libexec/getty Pc" vt220 off secure
(请注意,vt04 是对照 ttyE3,因为 vt 从 1 开始,而 ttyE 从 0 开始)
如果在 xdm 登入时要有一个好看的外观,你可以修改 xdm 的 设定档。例如,要更改背景颜色,你可以这一行到 Xsetup_0:
xsetroot -solid SeaGreen
也可以放置影像到背景上,使用 xpmroot :例如:
xpmroot /path_to_xpm/netbsd.xpm
在你熟悉了设定档之后,可以达成许多美观的效果,并且 建立一个漂亮的登入画面。