分享
 
 
 

FreeBSD handbook中文版 5 X Window 系统

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

目录

5 X 视窗系统

5.1 概要

5.2 安装Xfree86 系统

5.3 Xfree86 的配置

5.4 理解X

5.5 在Xfree86 中使用字体

5.6 X 显示管理

5.7 桌面环境

=============================================================

第5 章X Window 系统

=============================================================

(翻译中出现的任何问题或错误,请广大读者及时反馈给我:freebsdhandbook@163.com)

5.1 概要

FreeBSD 使用XFree86 来为用户提供一个功能强大的图形用户接口。XFree86 是一个开

放源代码的X 视窗系统。下面的这章将介绍在FreeBSD 上安装和配置Xfree86。有关你的显

卡是否被X11 所支持,请查看Xfree86 的网站。

读完这章,你将了解到:

1. 如何安装和配置Xfree86.

2. X 视窗系统的不同组件,它们是如何协同工作的。

3. 如何安装和使用不同的视窗管理系统。

4. 如何在XFree86 中使用TrueType 字体

5. 如何为你的系统安装图形登陆口(XDM)。

在阅读这章之前,你应当了解:

1. 知道如何安装额外的第三方应用程序(第4 章)。

5.2 安装XFree86

XFree86 被制作成一个port 和一个package,使得它很容易被安装。你可以直接从

XFree86 组织的网站直接下载,并根据XFree86 组织的指示手动安装它。

你只需要决定安装哪个版本。XFree86 3.X 是XFree86 开发的一个分支。现在,已经不

对它更新了。现在XFree86 4.X 是重新设计的一个分支。它有很多新特性,但它支持的显卡

相对要少一些。

如果你的显卡能在XFree86 4.X 下运行,就不要使用XFree86 3.X 了。这章的其它部分

将介绍如何配置XFree86 和你可以使用的几种X 程序。

5.3 XFree86 的配置

第1 页FreeBSD 使用手册

5.3.1 介绍

这章将介绍在FreeBSD 上安装和配置XFree86 X 视窗系统的步骤。一旦X 服务器被安

装和正确配置。用户就可以看看第5.7 节来设置桌面环境。

5.3.2 开始之前

在用户开始配置XFree86-4 之前,你必须知道你机器的下面一些信息:

1. 显示器的规格

2. 显卡的芯片

3. 显存

显示器规格可以被XFree86 用来决定显示器的刷新率。这些规格通常可以从显示器所

带的文档中找到,也可以从生产商的网站找到。需要知道两个数字范围:垂直刷新率和水

平刷新率。

显卡的芯片组定义了XFree86 要使用什么驱动模块来驱动硬件。对于绝大多数的芯片,

它都能自动选择,但有时也可能检测错误。显卡的显存大小决定了目标系统的刷新率和颜

色深度。这非常重要,所以用户需要知道目标系统的详细情况。

5.3.3 安装XFree86 4.X 的软件

XFree86 4 能够使用FreeBSD 的ports 进行安装或使用pkg_add 命令。如果用户直接从

源代码来构建XFree86-4 , 而且在/etc/make.conf 中已有这个项目。如果想得到

XDM-AUTHORIZATION-1 的支持,用户可能需要加上Wraphelp.c。这个文件可以在建构

ports 以前被放置在file/的子目录中。

5.3.4 配置XFree86 4.X

配置XFree86 4.X 有几步。第一步是建一个初始化的配置文件。作为超级用户,可以

这样做:

# XFree86 -configure

第2 页FreeBSD 使用手册

这会在一个叫做XF86Config.new 的当前工作目录中产生一个XFree86 配置文件。

XFree86 将试图探测到系统中的显示设备。在你的机器上,将写入一个配置文件以便探测硬

件时能够加载正确的驱动程序。

下一步将测试当前的配置以检验XFree86 是否能在当前系统的显示设备上正常工作。

要完成这个任务,你只需要这样做:

# XFree86 -xf86config XF86Config.new

如果用户看到一个黑灰的格子和一个X 形的鼠标指针,配置就是成功的。要退出测试,

只要键入ctrl,alt 和backspace。接下来,用户需要调整XF86Config.new 配置文件以适

应个人的口味。用emacs 或ee 这样的编辑器打开文件。用户要做的第一件事是为当前系统

的显示器添加频率。这些包括垂直和水平的刷新率。这些值只要在XF86Config.new 文件的

"Monitor"地方把这些值添加进去,例如:

Section "Monitor"

Identifier "Monitor0"

VendorName "Monitor Vendor"

ModelName "Monitor Model"

Horizsync 30-107

VertRefresh 48-120

EndSection

Horizsync 和VertRefresh 关键字通常不存在用户的配置文件中。如果它们不存在,就

需要添加它们。正确的水平同步刷新率被添加在Horizsync 关键字后面,垂直的同步刷新

率被添加在VertRefresh 关键字后面。在上面的例子中已经添加了。

当XF86Config.new 配置文件被编辑器打开时,用户需要选择默认的分辨率和颜色深度。

如下:

Section "Screen"

第3 页FreeBSD 使用手册

Identifier "Screen0"

Device "Card0"

Monitor "Monitor0"

DefaultColorDepth 24

SubSection "Display"

Depth 24

Modes "1024x768"

EndSubSection

EndSection

DefaultColorDepth 关键字描述了用户希望运行的默认的颜色深度。Modes 关键字描述

了屏幕的分辨率。在上面的例子中,默认的颜色深度是24 位色,分辨率是1024x768。最后,

用户可以写入配置文件,然后使用这个配置文件测试它。如果所有都正确,那配置文件需

要被安装在xfree86 的默认位置,如下:

/etc/X11/XF86Config 或/usr/X11R6/etc/X11/XF86Config.

# cp XF86Config.new /etc/X11/XF86Config

一旦配置文件被放置在一个普通的位置,XFree86 就能通过xdm 来使用。为了使用

startx,用户将必须安装X11/wrapper port。

5.3.5 高级配置主题

5.3.5.1 配置Intel i810 显示芯片组

配置Intel i810 芯片组的显卡需要有针对XFree86 的能够驱动显卡的AGP 编程接口。

要启用这个编程接口,agp.ko 的内核引导模块需要用kldload 来加载到内核。这可以由

loader 来自动加载。只要在启动时,在/boot/loader.conf中加入下面这一行,就可以由

loader 来加载agp.ko 了。

第4 页FreeBSD 使用手册

agp_load="YES"

接下来,需要为编程接口创建一个设备。要创建AGP 设备节点,可以在/dev 目录下运行

makedev:

# cd /dev

# sh MAKEDEV agpgart

5.4 理解X

如果你非常熟悉使用窗口类型的操作系统,象windows,Macos,那你会发现你对X 的初

次印象会很不同。今天,象KDE 和GNOME 这样的unix 桌面环境已经变得非常流行。

5.4.1 Why X?

X 并不是针对UNIX 的第一个视窗系统,但它是最流行的。X 的最初开发团队在开发X

之前,就已经在为另一个视窗系统工作了。那个系统的名字是“W”(很明显,就是“window”)。

X 只是在罗马字母中W 后面的一个。

X 可能涉及很多的东西,象“X Window System”,“X11”和其它的一些。“X Windows”

这个概念会尽可能地避免使用;可以看看X 的联机手册了解更多信息。

5.4.2 X 客户端/服务器端模型

在X 模型中,“X server”运行在有键盘,显示器,鼠标的电脑上。Server 用来管理

显示信息,和处理来自键盘和鼠标的输入等。每个X 应用(如XTerm 或Netscape)就是一

个“client”。一个client 发送信息给服务器(如:Please draw a window at these

coordinates),然后服务器就返回处理信息(如:The user just clicked on your OK button)。

如果你在只有一台电脑的家里或小型办公环境中使用FreeBSD,你就需要在同一台电脑上运

行X server 和X client。然而,如果你有很多运行FreeBSD 的机器,你可以在你的桌面

电脑上运行X server,而在比较高档的服务器上运行X 应用程序。在这样的环境中,X server

和X client 之间的通讯就可以通过网络来进行。

这可能会使一些人搞糊涂,因为X 术语与他们所想象的有所不同。他们以为X server

是运行在大型机器上的,而X client 是运行在桌面机器上的。

第5 页FreeBSD 使用手册

正如你所记得的,X server 是用来处理显示器和键盘输入信息的,而X client 是用来

显示视窗程序的,这一点你不应当搞糊涂。

这样的设计有一个很有意思的副作用。并不需要client 和server 都运行在同一种操

作系统上,或甚至运行在同一种类型的电脑上。把它运行在Microsoft Windows 或Apple's

MacOS 上也是可以的,在它上面也有很多免费的和商业化的应用程序。

在FreeBSD 上使用的X server 叫做XFree86,在大家很熟悉的许可协议下可以免费使

用。针对FreeBSD 的商业化X server 也可以使用,你可以选择一个。

5.4.3 视窗管理器

X 的设计哲学有点象unix 的设计哲学,“tools, not policy”。这些意味着不需要命

令最终用户他们应当如何来完成他们的工作。而是,只给用户提供一些完成工作的工具,

至于如何使用这些工具那是用户自己的事情。

这种哲学大大地扩展了X,它不一定要规定这些视窗在屏幕上看起来象什么,你要如何

移动鼠标,需要使用什么键来切换窗体,每个窗体的工具条应当看起来象什么,是否应该

放关闭按钮等等。

实际上,X 只代表了叫做“Window Manager”的应用程序。有很多这样的应用程序:

AfterStep, Enlightenment, ctwm, ftwm, sawfish, twm, WindowMaker 等。这些管理器

中的每一个都提供了一个不同的界面;其中一些支持“虚拟桌面”,有一些允许你可以定

制一些键来管理你的桌面;一些用作“start”按钮;一些用作“themeable”,允许你启

用一个新桌面来改变你的桌面显示。这些视窗管理器都可以在Ports Collection 的x11-wm

中找到。另外,KDE 和GNOME 桌面环境都有它们自己的视窗管理器与桌面集成。每一个视窗

管理器也有一个不同的配置机制;一些需要你手工写入一个配置文件;其他特性的GUI 工

具能够完成绝大多数的配置任务;至少有一个配置文件需要用lisp 语言来改写,它很强大。

正如你可以想象的,这种灵活性来自价格。因为可用的选择是如此广泛,以至于很难

有这种类型的文档来指导你选择和配置一个视窗管理器。

着重点:视窗管理器的另一个特性是鼠标的焦点。每个视窗管理器如X,Microsoft

Windows 或其它一些都有一个抽象概念“焦点”,在任何一个时候只有一个窗口有焦点。有

焦点的那个窗口是你接收所有键盘输入和鼠标点击的窗口。

第6 页FreeBSD 使用手册

你通常比较熟悉一个叫做“click-to-focus”的焦点方案。这意思是你必须点击你想

要拥有焦点的窗口。窗口可能会处在屏幕的上方,即使你把鼠标移出窗口,你键盘的输入

仍然会出现在这个窗口中。你要把焦点移向另一个窗口,你必须点击它。

X 不支持一些特殊的焦点规则。而是,窗口管理器控制着在什么时候哪个窗口拥有焦点。

不同的窗口管理器支持不同的焦点方案。它们都支持点击到焦点,它们中的大多数都支持

好几个。

还有其它两个通常的焦点规则:

focus-follows-mouse

这种方式是,在鼠标指示器下面的视窗是拥有焦点的视窗。这可能不是其他视窗顶部

的视窗。你可以通过点击另一个视窗类改变焦点。习惯了这个方式后,再回到使用

click-to-focus 方式的视窗时就会感到不适应。

sloppy-focus

这种方式是对focus-follows-mouse 的一个小小的扩展。对于focus-follows-mouse,

如果你在桌面上移动鼠标,那不会有视窗会获得焦点。

如果你使用sloppy-focus 然后移动鼠标指示器,那拥有焦点的视窗将保留。你的视窗

管理器也将支持其他的方案,所以确信你已经阅读了它提供的介绍文档。

Microsoft Windows 和Apple MacOS 都有一个快速的窗口方案。应用开发员被建议确保

他们的应用程序共享一个普通的所见即所得的用户界面。在这些视窗系统之前,X 已经被设

计了很长时间了。当GUI 系统的研究还处于早期时,还没有感觉到要一个特殊的图形接口。

如果你检查一下过去十年的Windows 和MacOS GUI,你将看到在人机交互的设计上发生了

多大的变化,融入了多少新的思想。

这样的结果是你不能期望X 应用程序只拥有一个普通的界面。有很多的流行的窗口设

置,包括Athena(MIT 开发),Motif(模仿微软的),openlook 和其他一些。今天,绝大多

数比较新的X 应用程序将使用一个现代风格的窗口设计,象Qt,用来设计KDE,或GTK,用

来设计GNOME。

5.5 在XFree86 中使用字体

第7 页FreeBSD 使用手册

5.5.1 Type1 字体

XFree86 使用的默认字体不是很理想。大型的字体显得参差不齐,看起来很不专业,在

netscape 中,小字体也显得莫名其妙。然而,有几个自由的,高质量的字体可以使用在

XFree86 中,version 3.X 或version 4.X 都可以。例如,URW 字体的集合就包括了标准的

type1 字体(Times Roman, Helvetica, Palatino and others)。在freefont 的集合中也包

括了许多字体,但他们中的绝大部分使用在图形软件中,如Gimp,在屏幕字体中使用并不完

美。

要安装上面的Type1 字体,你只需要运行下面的命令。

# cd /usr/ports/x11-fonts/urwfonts

# make install clean

Freefont 或其他的集合也是一样的。要告诉X 服务器这些字体的存在,你需要在

XF86Config 文件中添加一行(XFree86 version 3 在/etc/中,version 4 在/etc/X11/中):

FontPath "/usr/X11R6/lib/X11/fonts/URW/"

在命令行,你可以写入:

% xset fp+ /usr/X11R6/lib/X11/fonts/URW

% xset fp rehash

5.5.2 TrueType Fonts

与XFree86 捆绑在一起的默认字体比实际应用所需的字体要少的多。而且字体显示得比

较难看。幸运的是XFree86 允许配置TrueType。

XFree86 4.0 已经内建支持了TrueType 字体。有两种不同的模块能够启用这个功能。

在这个例子中使用”freetype”这个模块,因为它与其他的字体是兼容的。要启用freetype

模块,只需要在你的/etc/X11/XF86Config 文件中加入下面这行。

Load “freetype”

第8 页FreeBSD 使用手册

你需要运行额外的TrueType 字体服务器。Xfstt 通常被用作这个目的。要在你的FreeBSD

系统上安装xfstt,可以从/usr/ports/x11-servers/Xfstt 中安装相应的port。你应当为

你的TrueType 字体创建一个目录,然后拷贝所有的TrueType 字体到这个目录。记住你不能

直接从Macintosh 电脑上提取字体;他们必须是Unix/DOS/Windows 格式的。一旦你已经拷

贝了许多文件到这个目录,你需要

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有