第十一章 X Window 的使用

在 UNIX 的世界中,一样有图形化的接口可以使用。本章将介绍 UNIX 中最有名的窗口软件:X Window。X Window 提供了 FreeBSD 图形化的接口,但它只提供了图形化的能力,我们还必须另外安装一些常用的图形化程序及工具。读完本章后,您将了解下列主题:

11.1 安装 X Window

X11 是在 UNIX 系统下的窗口软件,它分为二种版本,一个是原本 FreeBSD 5.2.1 以前用的 XFree86,另一个是 FreeBSD 5.3 以后预设使用的 Xorg。

原本的 X11 是以 XFree86 为主,但最近由于版权争议及管理问题,分裂成二套软件。事实上,Xorg 也发展了很久,许多 Xorg 的人都是 XFree86 的开发者。在近期分裂时,Xorg 及 XFree86 的原始码做过同步,日后的开发才会有比较明显的差异。您可以选用 Xorg 或是 XFree86,不过 FreeBSD 预设是用 Xorg,而像 Redhat Linux 也都是使用 Xorg。照趋势及 Xorg 的开发愿景看来,似乎较多人会选用 Xorg。

我们在本章中会以 Xorg 设定为主,如果您使用 FreeBSD 5.2.1 以前的版本,您可以参考本章的设定,并将指令或设定名为 Xorg 的都改成 XFree86 即可。

X11 是一个 Client/Server 架构的软件,之所以会是 Client/Server 架构是因为在一开始设计 X 时,为了做到网络集中管理。「X Server」指的是有鼠标及键盘的机器,而「X Client」是画面显示的机器。不过我们在安装时,会将 Client 及 Server 都安装在同一台机器上。

X11 只是用来做基本的图形显示,我们除了介绍安装 X11 外,另外我们会再加装窗口管理软件,如果没有了它,X Windows 就只能看到白白一片。在众多的窗口管理软件中,我们选用 KDE,因为它提供了很多常用的工具,例如浏览器、Office 软件等。因此,我们将安装 X Windows + KDE 3 及并将其界面中文化。当然您也可以选用 GNOME 等其它的窗口管理接口。

您可以使用 port 来安装 X Window 及 KDE 3,但是必须花费很长的一段时间来进行编译。为了加快安装,我们使用 sysinstall 经由 packages 来快速安装。

Step1:安装X Window

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

图 11-1

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

图 11-2

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

Step2:安装KDE 3

我们可以使用 Package 或 Ports 来安装 KDE,但是由于 Package 只会在 FreeBSD release 时产生,如果您之前有更新过 Port Tree,并安装过很多软件,则在使用 Package 安装 KDE 时,可能会发生无法安装的情形。而如果使用 Ports 来安装,光编译可能就要花很长的时间喔,大概要一、二天吧。所以,我们先试着使用 Package 来安装,以节省时间。

首先,请先将本书的第二片光盘放入光驱,并执行下列指令,以挂入光驱,并进入 sysinstall

# mount /cdrom
# sysinstall

进入 sysinstall 后,请选择 [Configure] -> [Packages] -> [CD/DVD] -> [kde] -> [kde-3.4.2]。选了 kde-3.4.2 后,系统会自动帮您选择其它需要的套件。接下来就可以按 OK 并回到上一页按 [Install] 开始安装。

万一您安装失败,可能是因为之前有安装过其它软件,造成冲突。这时候,我们可以改用 Port 来安装 KDE。如果您要使用 Port 安装,请使用下列指令:

# cd /usr/ports/x11/kde3
# make BATCH=yes WITH_KDE_PATCHES=yes install

在使用 Ports 安装时,您可能会遇到有软件安装过其它类似的版本,结果就造成安装中断。这时候,您可以在 make 时,加上 「FORCE_PKG_REGISTER=y」,以强迫安装。

Step3:安装中文化字型

接着我们要让 KDE 支持中文的选单及讯息,我们必须先安装中文讯息文件 (i18n):

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

接下来,我们要安装中文字型。XWindow 支持 TrueType 的字型,而在 MS Windows 上,我们常使用的细明体就是 TrueType 的字型。因此,您可以支接将「C:\WINDOWS\Fonts\mingliu.ttc」复制到 FreeBSD 的「/usr/X11R6/lib/X11/fonts/TrueType」 目录中即可使用:

# mkdir /usr/X11R6/lib/X11/fonts/TrueType
# cp mingliu.ttc /usr/X11R6/lib/X11/fonts/TrueType/

由于 mingliu.ttc 中实际上包含了二个字型:细明体及新细明体。KDE 在判断字型宽度及大小时有点问题,造成字型有点难看,所以,我们必须编辑 ~/.fonts.conf,并加入下列内容,以改善字型:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="family"><string>MingLiU</string></test>
        <edit name="antialias"><bool>true</bool></edit>
        <edit name="hinting"><bool>true</bool></edit>
        <edit name="autohint"><bool>false</bool></edit>
    </match>
    <match target="font">
        <test name="family"><string>MingLiU</string></test>
        <test name="size" compare="less_eq"><int>12</int></test>
        <edit name="antialias" mode="assign"><bool>false</bool></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
    </match>
    <match target="font">
        <test name="family"><string>MingLiU</string></test>
        <edit name="globaladvance"><bool>false</bool></edit>
    </match>
    <match target="font">
        <test name="family"><string>MingLiU</string></test>
        <edit name="spacing"><int>0</int></edit>
    </match>
</fontconfig>

您可以在直接打开本书电子文件,并使用复制贴上的方式来编辑上列档案,以节省时间。

Step4:产生设定档

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

# Xorg -configure
# cp /root/xorg.conf.new /etc/X11/xorg.conf

接着编辑 /etc/X11/xorg.conf,在 FontPath 区段最前面加入 TrueType 及 local 二个路径,以期使 X Window 能找到正确的字型路径:

Section "Files"
       RgbPath      "/usr/X11R6/lib/X11/rgb"
       ModulePath   "/usr/X11R6/lib/modules"
       FontPath     "/usr/X11R6/lib/X11/fonts/TrueType/"
       FontPath     "/usr/X11R6/lib/X11/fonts/local/"
       FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
       FontPath     "/usr/X11R6/lib/X11/fonts/TTF/"
       FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
       FontPath     "/usr/X11R6/lib/X11/fonts/CID/"
       FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/"
       FontPath     "/usr/X11R6/lib/X11/fonts/100dpi/"
EndSection

如果您有滚轮鼠标,您可以在下列「InputDevice」区段中加入「ZAxisMapping "4 5"」,以支援滚轮:

Section "InputDevice"
       Identifier  "Mouse0"
       Driver      "mouse"
       Option      "Protocol" "auto"
       Option      "Device" "/dev/sysmouse"
       Option      "ZAxisMapping" "4 5"
EndSection

接下来,我们来设定屏幕的分辨率等。请先找到 Section "Monitor" 的部份,并查看 Identifier 那行已经找到您所使用的屏幕。如果有,您可以不必设定水平及垂直更新频率。如果没有,请参考您的屏幕使用手册,并将 Horizsync(水平更新频率) 及 VerRefresh(垂直更新频率) 设定一个适合您的范围。

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

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

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultColorDepth 16
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	.......略......
	SubSection "Display"
		ViewPort 0 0
		Depth 16
		Modes "1024x768"
		Virtual 1024 768
	EndSubSection

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

Step 5:进入 X Window

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

#!/bin/sh -
export LANG=zh_TW.Big5  # 设定使用中文
exec /usr/local/bin/startkde

接着我们就可以执行 startx 来进入 X Window 了。如果您找不到 startx 的指令,请先执行来 rehash 更新指令,再执行一次 startx

 进入 X Window 后,画面会出现 KDE 的桌面设定选单,您只要依画面提示即可完成 KDE 的安装。设定完后,您就可以看到完整的 KDE 了:

图 11-3

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

进入 KDE 后,您可以在控制中心里调整字型,建议您先将所有字型调为细明体 (MingLiu)。如果您要调整字型,请按画面左下角的 K 图示,并选择「控制中心」,即出现下列画面:

图 11-4

调整后,请重新启动 X Window。

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

图 11-5

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

图 11-6

 

11.2 X Window下的中文软件

11.2.1 中文终端机

KDE 所附的终端机 Konsole 已经支持中文的显示,而且还有许多强大的功能。例如我们可以设定终端机背景、字型等,而且操作十分容易。只要您在 ~/.xinitrc 中有设定 LANG 为为 zh_TW.Big5 即可显示中文。

图 11.7

11.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 LANG=zh_TW.Big5  # 设定使用中文

# 加入下列二行
export XMODIFIERS=@im=xcin
xcin2.5&

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

修改完后存盘,接着进入 X Window 您将看到输入法的窗口,然后我们就可以执行支持其它软件来输入中文了。例如我们开启 Konsole 的窗口后,就可以使用 Ctrl+Space 来切换中英文输入法。其它像 Konqueror 或 Kword 下的中文输入也没问题,如 下图。

图 11-8

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

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

预设的 XCIN 在输入中文时,输入法窗口不会在最上方,所以我们必须修改一下 XCIN 的设定档。设定文件的位置是 /usr/X11R6/etc/xcinrc,使用文书编辑软件打开后,找到 "OVERSPOT_WINDOW_ONLY" 的部份,并修改成 YES:

;  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 就可以打开输入法窗口。

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