第16章 实际的使用Resource
前一章解释X resources的规则----为什麽需要他们,结构如何工作和
resource规格的格式。本章中继续讨论resources ,但较强调实用性:我们告
诉您如何及何处设定resources 预设值,来影响您的系统的一部份或全部。在
本章结束前,我们将完成一些□例,点出您可能常见的错误,并告诉您如何克
服他们。

在这些□例中,我们假设您自己的工作站叫做venus ,并且大部份时间您
是使用他。从venus 的显示器,您可在远方的机器saturn和mars上执行client
应用程式且和venus 共享档案系统;neptune 则不可,我们曾在第4章描述过。

当您在本章中时,记得resource结构是:传递资讯给应用程式,通常这些
资讯是用来传递一些比较感兴趣的预设值(例如色彩和字型),但只要应用程
式取得协调您就能使用这种设施传递任何资讯。所以我们一般状况下倾向於把
”resource规格””预设值”(defaults)”resource”这三个名词视为同一含
意。


16.1 在何处储存resource的预设值

在上一章我们只告诉您输入resource规格到”一个资料库”,但未告诉您
如何做。事实上有几个不同的地方能够储存预设值:这些”地方”通常是个
您能够用任何编辑器修改的简单的文字档案,但有一个特别的位置需要特别的
工具来设定他,我们先很快的给您一个概念,再讨论细节部份。

首先他的架构很的复杂:包含命令列选项总共有八种设定resource方法,
但有两个重点需要注意:

1 .您最好只使用其中的一或二种配置,只要您做完启始设定,您将只
须改变预设的设定。

2 .系统是被设计来掌控许多不同模式的工作,和满足那些在许多显示器
上工作或在一台显示器上工作而存取远方机器的使用者的。

总结来说,这些配置是提供来让系统尽可能富於弹性,但任何时刻您将只
须存取其中的子集合而已。


16.1.1 设定Resource的八种方法

总共有八种方法设定resource,但他们可分为下面几类:

.应用程式专属的(Application-specific)resource:resource的表列,
限定档案只能被特定的应用程式读取。

.Server专属的resource:应用设定,不管应用程式在那一种主机上执行。

.主机专属的设定(Host-specific-setting) :对应用程式在主机上执行
有关的设定,和显示器无关。

.命令列选项:在执行时期做一次关闭(one-off) 设定。

应用程式专属的resource -- 方法1 和方法2

Toolkit 程式初始时在和应用程式直接相关的两个档案中寻找resource,
这些档案只能被特定的应用程式读取:

1 .应用程式--类别(Application-class) resource档案:这个档案包含
了机器一般性(site-wide) 对应用程式的类别之预设值,通常为系统
管理者所设定。他的名称就是应用程式类别的名称,在标准安装的系
统中他是储存在目录/usr/lib/X11/app-defaults 中,例如xterm 的
相关档案为:

/usr/lib/X11/app-defaults/XTerm

在core版中,有一个相关於Xmh 的此种档案,观察此档案能够看所使
用之设定的型态。

2 .您自己拥有的应用程式专属的resource档案:这个档案的名称和上述
相同,但他存放在不同的地方----由shell 变数$XAPPLRESDIR所指定
的目录,假如未定义,则放在home目录。例如对Xmh 类别的程式,他
的档案放在下列二者之一:

$XAPPLRESDIR/Xmh
$HOME/Xmh

您能够使用此种档案,处理方法1 中您不喜欢的 site-wide档案使其无
效。

Server专属的Resource -- 方法3 和方法4

这是对您现在工作的Server(显示器)做有关的设定。键盘的设定通常是
server专属的(因为不同的显示器有不同的键盘)。另一个server专属的特徵
为显示器是彩色或单色。

Resource和这些有关的项目会被任何和这个终端机相关的应用程式应用到,
并且不论应用程式在何主机上执行。(例如,假如您使用的显示器为单色,则
不管您的应用程式在何处执行,您还是不会要他使用彩色。)

储存server专属设定的方法是:

3 .server的RESOURCE_MANAGER性质(property):(您可在12章中xprop
的输出看到),使用下述的xrdb程式,您能够在server的根视窗的
RESOURCE_MANAGER性质中储存resource设定。他的长处如下:

(a) 您不需编辑任何档案即可设定预设值。(当您为了了解系统而实
验系统时特别有用)

(b) resource被server掌控,所以不论应用程式在那一部主机上执行,
均能被任何的应用程式应用。在我们的□例中,在neptune 的
情况下特别有用,甚至在不和我们的显示机器venus 共享档案系
统时,他仍然自动地选出为了使用此显示器所必需的resource设定。

4 .您的$HOME/.Xdefaults档案:(只有在根视窗没有RESOURCE_MANAGER
性质定义的情况下使用)。假如您对xrdb尚不熟悉,您便能够此档取
代,但您必须在每一部您执行client应用程式的机器上均设定一个。

主机专属设定 -- 方法5 和方法6

主机专属预设值和server专属相反,不管应用程式所使用机器的终端机为
何,只要应用程式在此主机上执行,均使用主机专属预设值,您能够用他们来:

.让应用程式在不同的机器上对不同的档案系统作计算,例如:被一个应
用程式读取的资料档案可能在不同的主机上保持不同的位置。

.区分显示在同一个萤幕上不同的主机的视窗(这些视窗可能由同一个应
用程式执行),例如:您能够要任何在mars机器上执行的xterm 的视窗
为红色的边框,而在saturn上执行的视窗为黄边。

.调高一个相同的应用程式在不同的client机器上版本的差异,例如:
xterm 在venus 是标准的MIT 版,但在neptune 机器上是由第三集团修
改过以适应机器结构的产品,这两版的xterm 可能并不完全相容。

主机专属Resource储存在:

5 .由$XENVIRONMENT 来的档案名称:假如shell 变数$ENVIRONMENT有被
定义,他会被解释为一个含有resource设定的档案之完整的路径名称。

6 .您的$HOME/.Xdefaults-thishost 档案:(当$XENVIRONMENT 未被定

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!