第十章 X Window 的使用

10.1 安装 X Window

X Windows 是在 UNIX 系统下的窗口软件,目前的版本 4.3.0。另外我们会再加装窗口管理软件,如果没有了它,X Windows 就只能看到白白一片。在众多的窗口管理软件中,我们选用 KDE,因为它提供了很多常用的工具,例如浏览器、Office 软件等。因此,我们将安装 X Windows + KDE 3 及并将其界面中文化。

您可以使用 port 来安装 X Window 及 KDE 3,但是必须花费很长的一段时间来进行编译。FreeBSD 自从 4.6 起,预设的 X Window 版本已由 3.3.6 改成 4。因此,我们可以使用 sysinstall 经由 packages 来快速安装。

Step1:安装X Window

在安装 FreeBSD 时,我们应该己经选择要安装 X Windows 套件,如果您安装 FreeBSD 时并未安装该套件,您可以在开机后执行 /stand/sysinstall 来进入安装时的选单。进入安装画面后,选择 [Configure]->[Distributions]->[XFree86],如图 10-1 所示。

图 10-1

接下来会出现一个选单让您选择所要安装的 XFree86 套件,如图 10-2 所示,请进入每一个目录选取 ALL。

图 10-2

接着选择 [EXIT] 回到选择安装来源。因为 X Window 已包含在 Installation CD 中,所以您可以选择 CD/DVD 为安装来源并放入本书所附的第一片 CD即可开始安装 X Window。

Step2:安装KDE 3

如果您使用 port 来安装 KDE 3,光编译可能就要花上您一天的时间。所以我们还是以 package 来安装 KDE 3 吧。我们同样先执行 /stand/sysinstall,请选择 [Configure] -> [Desktop] 如图 10-3 所示:

图 10-3

接着请选择 [KDE] ,如图 10-4:

图 10-4

我们同样以 CD/DVD 做为安装来源,请记得放入本书第一片光盘。

Step3:安装中文化字型

接着我们要将 KDE 中文化,。如果要在 X Window 中看到中文的选单,必须先装中文字型 kcfont (国乔字型)及 arphicttf (文鼎字型),及中文讯息文件 (i18n):

# cd /usr/ports/chinese/kcfonts
# make install clean
# cd /usr/ports/chinese/arphicttf
# make install clean
# cd /usr/ports/chinese/kde3-i18n-zh_TW
# make install clean

Step4:产生设定档

我们接着要执行 XFree86 -configure 来产生设定档 XF86Config.new,然后将它搬到 /etc/X11/:

# XFree86 -configure
# mv ~/XF86Config.new /etc/X11/XF86Config

接着编辑 /etc/X11/XF86Config,在 Section "Module" 中加入 load "xtt"。

Section "Module"
	Load  "xtt"
	Load  "extmod"
	Load  "xie"
……

并在 FontPath 区段最前面加入下面二行,以期使 X Window 能找到正确的字型路径:

FontPath   "/usr/X11R6/lib/X11/fonts/TrueType"
FontPath   "/usr/X11R6/lib/X11/fonts/local"

再来设定屏幕的分辨率等,先设定一下屏幕,找到 Section "Monitor" 的部份:

Section "Monitor"
	Identifier "Monitor0"
	VendorName "Monitor Vendor"
	ModelName "Monitor Model"
	Horizsync 30-70
	VertRefresh 50-100

我们在这个区段加入了最后二行关于屏幕水平及垂直更新频率,如果您发现 Identifier 那行行已经找到您所使用的屏幕,您可以不必设定水平及垂直更新频率。如果没有,请参考您的屏幕使用手册,设定一个适合您的范围。

接着要设定屏幕的分辨率,我希望以 16bit 色彩显示,800x600 而且不要虚拟桌面,找到 Section "Screen" 的部份:

Section "Screen"
	......略...
	DefaultColorDepth 16
	.......略......
	SubSection "Display"
		Depth 16
		Modes "800x600" "1024x768"
		Virtual 800 600
		ViewPort 0 0
	EndSubSection

我们加入了 DefaultColorDepth 16,表示内定以16 bit的色彩显示,并找到 Depth 16 的部份,加入了 Modes、Virtual、及 ViewPort。这三行表示可以用 800x600 或 1024x768 的分辨率、虚拟桌面为 800x600。接着存档离开。

Step 5:进入 X Window

为了一进入 X Window 即有 KDE 要先编辑 ~/.xinitrc 加入下列六行:

#!/bin/sh -
export LC_ALL=zh_TW.Big5
export LC_CTYPE=zh_TW.Big5
export LANG=zh_TW.Big5  # 设定使用中文
export QT_XFT=true  # For Anti-Alias function
exec /usr/local/bin/startkde

接着我们先执行来 rehash 更新 startx 进入 X Window,进去后画面会出现 KDE 的桌面设定选单,您只要依画面提示即可完成 KDE 的安装。现在应该可以看到完整的 KDE 了。

图 10-5

如果您在X Window中无法使用鼠标,请执行 /stand/sysinstall 来设定鼠标,设定的位置在 [Configure]->[Mouse],先设定 [Type] 选择鼠标的类型,再选 [Enable] 让一开机即驱动鼠标。

在 KDE3 中有许多的附属软件,从简单的文字编辑器、绘图软件,到常用的办公室软件、浏览器及邮件软件都有。由于是图形接口,您可以自行摸索尝试。KDE 的浏览器是 Konqueror,它的使用接口和 IE 差不多,除了是网页浏览器外,也结合了档案总管的功能,图 10-6 即 Konqueror 的画面:

图 10-6

您也许会发现 KDE 简直可以和MS Windows 抗衡,它的办公室软件功能齐全,不论是 KWord、KExcel、KPowerPoint 都是威力强大的软件。

图 10-7

10.2 X Window下的中文软件

10.2.1 中文终端机

KDE 所附的终端机 Konsole (位于桌面下方有贝壳的黑色屏幕图标) 并已经支持中文的显示,而且还有许多强大的功能,例如我们可以设定终端机背景、字型等,而且操作十分容易。不过由于我们必须要设定环境变量 LC_CTYPE 为 zh_TW.Big5 才可以在 X Window 中输入中文,而这又和以 Konsole 显示中文的设定有所冲突。所以如果您在进入 Konsole 之后无法显示中文,请在 Konsole 中执行下列指令将 LC_CTYPE 设定为 is_IS.ISO8859-1,如果您使用的是 FreeBSD 4.x 请设定为 is_IS.ISO_8859-1:

# setenv LC_CTYPE is_IS.ISO8859-1

图 10.8

不过 Konsole 对于一些 ANSI 的支持不是很好,如果您要使用中文的终端机来连上 BBS 站,必须安装其它软件。FreeBSD 中收录了许多中文终端机软件,例如 Eterm、crxvt 等,这里我们将安装 crxvt:

# cd /usr/ports/x11/rxvt
# make WITH_BIG5=yes install

接着请在 ~/.cshrc 中加入下面这一行来使 rxvt 能看到中文档名:

# 如果您使用 4.x 请设定为 is_IS.ISO_8859-1,5.x 为 is_IS.ISO8859-1
alias  rxvt      'env LC_CTYPE=is_IS.ISO8859-1 rxvt'

安装完毕启动 X 窗口后,我们可在 [开始选单]->[执行命令] 中,输入 rxvt 来启动中文的终端机。如图 10.9 所示:

图 10.9

启动 rxvt 后,就可以使用中文的终端机画面了:

图 10.10

10.2.2 中文输入

我们安装的 X Window 目前为止只能看到中文,但无法使用中文输入,如果要使用中文输入,必须安装 Xcin 这套软件。xcin 是 X Chinese Input 的缩写,这个软件提供许多输入法,例如注音、大易、仓颉、简易、酷音、行列等。他们的网址是 http://xcin.linux.org.tw,您可以在这里获得更多信息。

xcin 采用标准的 XIM 协议,XIM 协议是 X Window 下中文输入的标准,只要支持 XIM 的软件,我们都可以使用 xcin 来输入中文。而在 KDE 中,除了 Konsole 外,其它常用的软件都支持 XIM中文输入。

安装 xcin十分容易,我们可以使用 ports 来安装:

# cd /usr/ports/chinese/xcin25
# make install

安装完 Xcin 后,我们还要修改 ~/.xinitrc 来加入中文输入法的设定,请使用文书编辑软件来编辑 ~/.xinitrc 这个档案:

#!/bin/sh -
export LC_ALL=zh_TW.Big5
export LC_CTYPE=zh_TW.Big5
export LANG=zh_TW.Big5  # 设定使用中文
export QT_XFT=true  # For Anti-Alias function
# 加入下列二行
export XMODIFIERS=@im=xcin
xcin2.5&

#启动 KDE
exec /usr/local/bin/startkde

修改完后存盘,接着进入 X Window 您将看到输入法的窗口,然后我们就可以执行支持其它软件来输入中文了。例如我们开启 rxvt 的窗口后,就可以使用 Ctrl+Space 来切换中英文输入法。如果您发现开启 rxvt 时,无法切换输入法,请在启动 rxvt 时加上参数 rxvt -im xcin 即可。

除了使用 rxvt 之外,其它像 Konqueror 或 Kword 下的中文输入也没问题,如图 10-11。

图 10-11

在输入法的切换方面,我们可以使用下列几个预设的热键来切换:

Ctrl+Space 中文 / 英文的切换
Ctrl+Shift 依序切换输入法 (正向切换)。
Shift+Ctrl 依序切换输入法 (反向切换)。
Ctrl+Alt+数字 选择输入法,数字部份由 1~8

如果您觉得输入法的窗口太大很占空间,我们可以修改 xcin 的设定文件,将窗口缩小。设定文件的位置是 /usr/X11R6/etc/xcinrc,使用文书编辑软件打开后,找到 "OVERSPOT_WINDOW_ONLY" 的部份,并修改如下:

;  XIM Input Style Adjustments.
; 在下面这一行前面加上一个符号 "#"
#(define INPUT_STYLE            '(Root OverTheSpot))
(define OVERSPOT_USE_USRCOLOR   "YES")
(define OVERSPOT_USE_USRFONTSET "YES")
(define OVERSPOT_WINDOW_ONLY    "YES")

接着重新启动 X 窗口,当要输入中文时,只要以 Ctrl+Space 就可以打开如图 10-12 的画面:

图 10-12

如果您发现只有在 rxvt 中可以输入中文,而在其它的 KDE 软件下都无法切换到其它的输入法,很有可能是您 LC_CTYPE 的设定有问题,请参考前一节中 ~/.xinitrc 的设定内容,将 LC_CTYPE 设为 zh_TW.Big5。

在 X Window 中,有一些使用上的小技巧,例如您可以使用 Ctrl+Alt+Backspace 来强迫离开 X Window。如果您要使用鼠标在 Konsole 中来做复制贴上,你只要用鼠标选取所要复制的地方,就已完成复制的动作,接着再按 Shift+Insert 即可贴上。你可以发掘更多的小技巧喔。

10.3 音效装置

在一启动 KDE 时,您会发现一个警告窗口,提示我们目前没有任何音效装置,原本是我们的核心并未支持声卡。在原本的 GENERIC 设定中并未将声卡的驱动程序放入,如果您需要加入声卡,您可以参考 LINT 中关于声卡的选项。除了将声卡的设定加入 kernel 外,要支持音效装置有一个更快的方法,只要我们在开机时执行下列指令将音效模块动态加载即可:

# kldload snd.ko

如果您希望在一开机时就自动加载音效模块,您可以将上述指令加入 /etc/rc.local 中。

在 FreeBSD 4.x 下,安装完声卡后,您必须在 /dev/ 中增加声卡的装置节点:

# cd /dev
# ./MAKEDEV snd0 snd1 pcaudio

如此一来,在进入 KDE 时就不会再出现警告窗口了。

我们可以使用 KDE 的音乐播放软件来播放 CD、MP3,但如果您想使用命令列模式来播放 CD,您可以使用下列的指令来听 CD 音乐,不过要先将音乐 CD 放入光驱喔:

# cdcontrol -f /dev/acd0c play

这里我们假设您的光驱代号为 acd0c,您如果不知道光驱代号,可以使用 dmesg 来找出 cdrom 的装置节点名称。如果要停止播放,则使用下列指令:

# cdcontrol -f /dev/acd0c stop