桌面专门用于高度网络化的环境。
桌面的体系结构使系统管理员能够在整个网络中来分布计算资源。其中包括:
应用程序
应用程序的数据文件
桌面会话服务 (诸如"登录管理器"和"文件管理器"之类的桌面应用程序)
帮助服务 (帮助数据文件可以放置在中心帮助服务器上)
操作系统提供了多种联网服务,其中包括分布式文件系统和远程执行。X 服务器增强了联网能力,其中包括对远程显示器及安全服务的访问。
桌面在这些联网特性之上提供了一个用户界面层。此界面及其下的体系结构的目的在于使网络化系统具有下述特点:
便于使用。用户不必担心应用程序和数据究竟在网络中的什么位置,可以直接运行应用程序并且访问数据文件。
便于管理。桌面提供了应用程序集成工具和联网的查找路径,它们使系统更容易定位远程数据和应用程序。此外,桌面的文件名映射进程,使得管理包含多服务器的复杂网络更加方便。
性能灵活。虽然桌面的管理特性是为某些特定的通用网络环境而设计的,但该桌面可以适应许多其他定制的网络配置。
联网使用户可以访问分布在其他系统中的各种计算服务,例如:
桌面会话及其应用程序-例如,"工作区管理器"和"文件管理器"
其他应用程序
数据文件
联网术语用服务器一词来描述向一个或多个其他系统提供计算服务的系统。当一个系统从服务器获得服务的时候,它就叫做此服务器的客户机。
在一套复杂的网络系统中,一个系统可以使用位于整个网络中的若干服务器所提供的服务。此外,一个系统可以既是某一类型的服务器 (例如,会话服务器) ,同时又是 (例如,应用程序服务器的) 客户机。
从桌面的角度来看,一套典型的网络配置可以包含下面的主要组件的某种组合:
显示器-X 服务器的运行位置
登录/对话服务器-它们运行桌面应用程序 (登录管理器、工作区管理器等。)
最为通用的网络配置之一包括一些访问应用程序管理器的系统。图形 7-1 举例说明了使用应用程序服务器的工作站。此 X 服务器和桌面会话是在该工作站上运行的。
网络也经常利用文件服务器来存储大量数据。这些数据可能被应用程序服务器上的应用程序使用,或者由桌面应用程序 (例如,"文件管理器"需要访问数据文件,以便将其在"文件管理器"窗口中显示出来) 使用。
桌面很灵活,可以支持更多复杂的网络配置。除了文件服务器之外, 这通常还包括向应用程序服务器提供各种可用的服务。
显示器-运行 X 服务器的系统。
登录和会话服务器-运行桌面会话 (如"登录服务器"、"会话服务器"和"窗口服务器"等等) 的系统。
应用程序服务器-运行应用程序的系统。也称为执行主机。
文件服务器-存储应用程序数据文件的系统。
(操作)数据库服务器-存储含有操作和数据类型定义的文件系统。
网络还可能包括其他一些服务器,如口令服务器、邮件服务器、视频服务器等等。
桌面联网配置一般有三步:
配置基本操作系统的网络服务。
这些是由桌面所依赖的操作系统所提供的联网服务。请参阅"为桌面配置基本操作系统联网"。
安装并配置桌面联网软件和服务。
无论正在建立的客户机系统和服务器系统是什么类型,这些服务都是桌面所必需的。请参阅"配置桌面客户和服务器"。
配置服务器和客户机的具体类型。
例如,配置一个应用程序服务器就与配置文件服务器的步骤不同,请参阅"管理应用程序服务"。
桌面要求下面的基本网络配置:
用户必须在会话服务器和为会话服务器提供桌面服务的各个系统上都有登录帐号。在所有的客户和服务器系统中,用户必须有相同的用户 ID 和组 ID 。
系统必须能够访问远程文件系统,这些文件系统包含了会话和其他应用程序所使用的数据。
lp 打印假脱机程序必须配置为访问远程打印机。
必须配置 sendmail 以使用电子邮件服务。
必须设置 X 授权。
本节描述桌面联网所需要的登录帐号。
用户必须有登录帐号在:
所有为桌面提供服务的系统,包含应用程序服务器、文件服务器和提供联网打印机的系统。
用户可能访问的所有会话服务器。通常,会话服务器是和 X 终端一起使用。
UNIX 用户是由登录名和数字式用户 ID ( UID )来标识的。在桌面网络中,用户在所有的客户和服务器系统中应有相同的登录名和 UID 。
通常指定 UNIX 用户为一个或多个登录组的成员。每组均有其组名和数字组 ID (GID)。在桌面网络中,所有的系统都应有一致的组名和组 ID。
有关详细信息,请参阅 id(1) 或 id(1M) 的手册页。
桌面利用 NFS 文件系统来进行系统间的文件共享。必须在网络中标识所有包含共享文件的文件系统,并确保它们已正确地安装在所有相应的系统中。
一般地,必须提供下面的远程文件访问:
所有桌面客户和服务器系统必须共享用户的起始目录。这是必要的,因为:
用户的起始目录中包含数据文件,这些数据文件是远程系统中的应用程序所必须访问的。例如,使用数据文件的应用程序经常利用用户的起始目录作为缺省的数据文件位置。
用户的起始目录是缺省的 dtspcd 认证目录。有关 dtspcd 的详细信息,请参阅"配置子进程控制守护程序"。
如果用户需要访问不在起始目录中的文件,则这些数据文件必须为所有对此文件进行操作的的桌面客户机和服务器系统所共享。
桌面安装和配置目录 (/usr/dt 和 /etc/dt) 必须为所有桌面客户机和服务器系统所共享,这样,用户所有的应用程序就可以访问同样的桌面配置文件。
若用户只使用一个起始目录,且所有客户和服务器系统均共享此目录, 则此桌面网络系统的工作效率最高。
联网的起始目录可以使得用户使用网络中不同的系统 而不失去个人的定制和配置。这是因为用户个人的定制和用以恢复以前会话的信息被存储在用户起始目录的子目录中。
下面的应用还需要一个通用的起始目录:
缺省的 X 授权机制 (请参阅"配置 X 授权")。
桌面子进程控制守护进程。此守护程序参与到启动远程应用程序的过程之中,而且必须能写到用户的起始目录中。
应该配置网络,以便用户能够访问存在于所有系统上使用相同的名称的数据文件。这称作提供 文件名一致性,通常是通过创建适当的符号链接来完成的。例如,可通过创建符号链接到实际目录安装位置的方法来配置网络中所有系统,使每个用户的起始目录为 /users/login_name 。
桌面利用 lp 打印假脱机程序来访问本地或远程的打印机。有关配置 lp 的详细信息,请参阅 lpadmin( 1M ) 的手册页。
在试图利用桌面图形界面进行打印之前,应首先测试是否能利用 lp 命令正确地打印到所有打印机。
确保使用一致的打印设备名。例如,如果某个特定的打印机在与之直接相连的系统中的设备名为 Postscript1,则所有其他远程访问此打印机的系统也都应使用 Postscript1 的名称来访问。
桌面邮件程序利用 sendmail 在系统间传递邮件。有关如何配置电子邮件连接的详细信息,请参阅 sendmail( 1M ) 的手册页。
在试图从桌面发送或接收邮件之前,应当测试一下是否可以用 mailx 命令来正确地发送和接收邮件。
桌面利用缺省的 X 机制来为访问本地显示器的远程应用程序 ( X 客户) 授权。配置的最简便的方法是为每个用户提供联网的起始目录。这就保证了能满足下面的要求:
用户必须对文件 HomeDirectory/.Xauthority 有读写许可。
在应用程序服务器上的文件 .Xauthority 中必须包含将运行应用程序的显示器 "magic cookie"。
有关详细信息,请参阅 X( 1 ) 或 xauth( 1 )的手册页。
本节讲述桌面特有的网络配置要求 -也就是说,这些能力是由桌面提供的, 而不是由基本操作系统所提供的。
本节分为两部分:
配置登录和会话服务。
配置由应用程序及其其数据所要求的服务。这包括应用程序、数据库、图标、文件及帮助服务器和客户。
登录/会话服务器是个给显示和 X 服务器提供桌面服务 ("登录管理器"、"会话管理器"、"文件管理器"、"窗口管理器"等) 的系统。
一般地,会话服务器为 X 终端提供服务。但是,可以设置网络配置,将会话服务集中在 X 终端和工作站均可访问的一个或多个服务器上。
"登录管理器"是负责为其他显示器提供登录服务的桌面组件。用户一旦登录,就为用户启动 "会话管理器"。
有关配置登录/会话服务器和 X 终端的信息,请参阅"在网络显示器上显示登录屏幕"。
本节包括对通用桌面联网的要求:
提供桌面所需的操作系统的网络配置。
请参阅 "为桌面配置基本操作系统联网"。
必须安装:
为 ToolTalk 文件名数据库服务器守护程序 rpc.ttdbserverer 配置系统。
安装桌面时,这个操作会自动进行。有关详细信息,请参阅"配置 ToolTalk 数据库服务器"。
安装桌面时,这个操作会自动进行。有关详细信息,请参阅"配置子进程控制守护程序"。
当数据不在使用此数据的应用程序所在的系统上的时候, 数据被认为是"远程"的。
例如:
如果应用程序使用了位于文件服务器上的数据,则它必须安装这些文件。
如果"文件管理器"图标位于图标服务器上,则会话服务器必须装配这些文件。
如果网络使用帮助服务器来存放桌面帮助文件,则会话服务器和所有应用程序服务器必须安装这些帮助数据。
有关安装点的详细信息,请参见下一节"为远程文件系统配置安装点"。
当桌面将文件名从一个系统传输到另一系统时,它必须将这些文件名变成或映射成对目标系统有意义的文件名。由于在不同的系统中同一文件有可能被装配在不同的位置,所以必须用不同的文件名来访问它们,因此这种映射是必需的。例如系统 sysA 中的文件 /projects/big 可能在 sysB 中作为 /net/sysA/projects/big 来访问。
为了正确地执行此文件名映射操作,下列之一必须为真:
mount 命令用来静态安装文件系统。这些静态装配的类型一般配置在诸如 /etc/checklist、 /etc/mnttab、或 /etc/filesystems 之类的文件中。
为了使文件名映射能在系统之间正确地工作,文件系统的安装必须使用一致的主机名。如果主机有几个名称 (例如,别名,或者此主机有不止一个局域网地址,这些地址的名称各不相同) ,必须在所有的安装中使用相同的名称和相同的名称形式。
或者,自动装载程序被用来装载文件系统,装配在缺省的 /net 装载点。
或者,自动装载程序用来将文件系统装载在 /net 之外的某个位置,而 DTMOUNTPOINT 环境变量设置为指示此装载点。请参见下一节"为 DTMOUNTPOINT 设置值"。
有关自动装载程序的详细信息,请参见 automount( 1M ) 的手册页。
如果下列两个条件均为真,则必须设置 DTMOUNTPOINT 环境变量:
在用户登录后会自动启动的用户桌面进程,例如"工作区管理器"(dtwm) 和"文件管理器"(dtfile)
由本地或远程系统所启动的应用程序。
由用户从 shell 命令行启动的应用程序
为下列的进程设置 DTMOUNTPOINT 变量:
在重新读取 /etc/inetd.conf 的系统上执行此进程。有关详细信息,请参见 inetd(1M) 的手册页。
使用由用户登录中继承来的值设置 DTMOUNTPOINT 。
这可通过在 /etc/dt/config/Xsession.d 中设置变量的方法来完成。有关设置环境变量的详细信息,请参阅"设置环境变量"。
桌面的子进程控制 (SPC) 服务提供客户/服务器命令的执行。
桌面子进程控制守护程序 (dtspcd) 用于桌面启动远程应用程序。它是个接收远程客户执行命令的请求的 inet 守护程序。有关如何配置 inet 守护进程的详细信息,请参阅 inetd.conf(1M) 的手册页。
桌面的操作调用库使用 SPC 服务来调用远程操作。
请确定 dtspc 是否正确注册到 /etc/services 和 /etc/inetd.conf 中。
请参阅 dtspcd(1M) 的手册页。
对于子进程控制服务的认证是在文件系统验证的基础上进行的。dtspcd 必须能访问所有 SPC 客户系统均装载的认证目录。
缺省情况下,dtspcd 的验证目录就是用户的起始目录。但可通过设置目录 -/etc/inetd.conf 中的 auth_dir 选项来配置 dtspcd,以使用不同的目录。有关详细信息,请参阅 dtspcd( 1M )的手册页。
由于 SPC 认证是在文件系统验证的基础上进行的,所以 SPC 服务仅仅与分布式文件系统的安全性一样。如果正在一个您不信任其分布式文件系统的网络中使用桌面的话,您可能想禁用 dtspcd。要禁用 dtspcd,需注释出 /etc/services 中的 dtspc 项。
当桌面利用操作来启动远程系统上的应用程序的时候,用户的环境变量被复制到远程系统上,并被放入相应的应用程序的环境中。
缺省情况下,更改某些环境变量,然后把它们复制到远程系统中。在环境变量放入应用程序的环境之前,可通过配置操作调用组件和桌面的子进程控制服务来执行附加环境变量的处理。
有关缺省的配置和如何对其进行修改的详细信息,请参阅 dtactionfile(4) 和 dtspcdenv(4) 的手册页。
ToolTalk 组件之一是 ToolTalk 数据库服务器, /usr/dt/bin/rpc.ttdbserver。
ToolTalk 消息服务使用 ToolTalk 数据库服务器,此服务器还用于文件名映射。它通常在安装桌面时注册到 /etc/inetd.conf 中,因此不需要附加的配置工作。
有关 ToolTalk 数据库服务器及其配置选项的详细信息,请参阅 rpc.ttdbserver(1M) 的手册页。
ToolTalk 消息服务器是 ttsession。缺省情况下,它不需任何配置;在登录期间,它由 X 会话正文启动。
有关 ToolTalk 消息服务器及其配置选项的详细信息,请参见 ttsession 的手册页。
"日历"应用程序的组件之一是"日历守护程序"rpc.cmsd。它通常在安装桌面时注册到 /etc/inetd.conf 中,因此不需要附加的配置工作。
有关日历守护程序及其配置选项的详细信息,请参阅 rpc.cmsd(1) 的手册页。
本节讲述下列各项的具体配置要求:
应用程序服务器及其客户
提供特殊服务的桌面服务器-数据库服务器、图标服务器和帮助服务器
还讲述对两个联网的应用程序的特殊配置的联网要求:
远程执行的主机
在文件系统安装之间运行的应用程序。
桌面使用一系列环境变量来指定用来查找应用程序的桌面配置文件的查找路径,这些配置文件包括操作和数据类型数据库、帮助文件和图标文件。
有关如何使用查找路径环境变量的详细信息,请参阅"桌面查找路径及其环境变量" 或 dtenvvar(5) 手册页。
在标准的应用程序服务器的配置中,应用程序服务器包含与应用程序并联的所有二进制文件和配置文件,包括:
提供桌面所需的操作系统的网络配置。
请参见"为桌面配置基本操作系统联网"。
提供服务器所需的通用桌面配置。
请参阅"配置桌面客户和服务器"。
安装应用程序。
如果应用程序不能自动注册,则必须执行注册过程。
请参见 第 5 章,注册应用程序。
提供桌面所需的操作系统的网络配置。
请参见"为桌面配置基本操作系统联网"。
提供客户机所需的通用桌面配置。
请参见"配置桌面客户和服务器"。
在系统范围内或个人范围内将应用程序服务器添加至应用程序查找路径中:
全系统-设置并导出 /etc/dt/config/Xsession.d/0010.dtpaths
中的 DTSPSYSAPPHOSTS 变量
个人-设置并导出 HomeDirectory
/.dtprofile 中的 DTSPUSERAPPHOSTS 变量
例如, 如下所示的在 /etc/dt/config/Xsession.d/0010.dtpaths 中的行将在应用程序查找路径中添加带主机名的系统 SysAAA 和 SysBBB:
export DTSPSYSAPPHOSTS=SysAAA:,SysBBB:
有关设置应用程序查找路径的详细信息,请参见:
通常,与应用程序相关的操作和数据类型定义、图标和帮助数据文件是与应用程序安装在同一系统上的。
例如,可考虑以下典型的帮助数据文件的配置:
"文件管理器"的帮助文件通常是在会话服务器之上的。因为帮助的查找路径会自动查找会话服务器上的正确位置,所以桌面能找到这些帮助文件。
其他应用程序的帮助文件通常与其相应的应用程序位于同一应用程序服务器上。因为修改应用程序的"查找路径"过程会自动修改帮助查找路径,所以会话服务器能找到这些帮助文件。
有时可能需要使数据库 (操作和数据类型)、帮助或图标数据放置在网络中的其他位置。例如,如果网络中使用了多个会话服务器,就有可能要创建帮助服务器,在此帮助服务器中存储桌面应用程序 (文件管理器、式样管理器等等) 的所有帮助数据文件。由于帮助文件不需在每个会话服务器上均复制一份,因而节省了磁盘空间。
提供桌面所需的操作系统的网络配置。
请参见 "为桌面配置基本操作系统联网"。
提供客户机所需的通用桌面配置。
请参见 "配置桌面客户和服务器"。
安装数据库、帮助或图标文件。
这些文件可以处于系统的任何地方。但是,当为系统指定了应用程序服务器后,会自动查找下列目录,所以使用下列位置会更方便。
数据库文件:/etc/dt/appconfig/types/language
帮助文件: /etc/dt/appconfig/help/language
图标文件: /etc/dt/appconfig/icons/language
如果正在设置数据库服务器,则必须写一些操作来指定它们的 EXEC_STRING命令将在何处运行。请参见"指定远程执行主机"。
提供桌面所需的操作系统的网络配置。
请参见 "为桌面配置基本操作系统联网"。
提供客户机所需的通用桌面配置。
请参见 "配置桌面客户和服务器"。
将数据库、图标或帮助服务器添加到适当的查找路径中。
如果将数据文件放置在 "创建数据库、帮助或图标服务器" 的 步骤 3中指定的位置,您可以修改应用程序查找路径。
如果将数据文件放置在其他位置,就必须修改特定的查找路径。
例如,如果将帮助文件放置在系统 SysCCC 的 目录 /etc/dt/help 下,则必须将下行添加到 /etc/dt/config/Xsession.d/0010.dtpaths 中:
export DTSPSYSHELP=/net/SysCCC/etc/dt/help
有关设置查找路径的详细信息,请参见:
本节讲述如何配置系统以运行应用程序:
不是在包含操作的系统上-而是在远程执行主机上
在本地跨文件系统安装
在典型的应用程序服务器的配置中,操作定义与应用程序可执行文件同在一个系统中。但也可以写一些操作来执行其他系统上的命令。在此配置下,包含应用程序的系统被称为执行主机。
操作定义可以定位在会话服务器上,也可以在为会话服务器提供操作和数据类型服务的系统上-被称为数据库服务器 或数据库主机。
操作的定义使用 EXEC_HOST
字段来指定其 EXEC_STRING 命令应在何处运行。例如,下面的操作定义指定了 xload 客户机程序运行在主机名为 SysDDD的系统上:
Action XloadSysDDD { TYPE COMMAND EXEC_HOST SysDDD EXEC_STRING /usr/bin/X11/xload -label SysDDD }
如果 EXEC_HOST
字段中指定了不止一个主机名,则桌面按顺序在每个主机上执行 EXEC_STRING,直至找到能执行此操作的主机。例如,下面的 EXEC_HOST
字段指定了操作应首先在 SysDDD 系统上尝试运行 EXEC_STRING,如此运行失败,则尝试 SysEEE。
EXEC_HOST SysDDD,SYSEEE
如果不为某个操作而设置 EXEC_HOST
字段不是为操作而设置,便使用其缺省值 %DatabaseHost%。值 %DatabaseHost% 是从数据库的查找路径中得到的。
例如,假设数据库的查找路径因为向 /etc/dt/config/Xsession.d/0010.dtpaths 中添加下行内容而更改:
DTSPSYSDATABASEHOSTS=SysAAA:,/net/SysBBB/etc/dt/appconfig/types/C
SysAAA 是由主机限定语法-SysAAA:指定的。发现使用查找路径中的此元素的某个操作定义会将数据库主机设置为 SysAAA。但是,发现使用查找路径中的 /net/SysBBB... 这一部分的操作会将数据库主机设置为本地系统,因为语法不包括主机限定符。
提供桌面所需的操作系统的网络配置。
请参见"为桌面配置基本操作系统联网"。
提供服务器所需的通用桌面配置。
请参见"配置桌面客户和服务器"。
确保应用程序已经为本地执行而正确安装和配置。
提供桌面所需的操作系统的网络配置。
请参见"为桌面配置基本操作系统联网"。
提供服务器所需的通用桌面配置。
请参见"配置桌面客户和服务器"。
创建并安装操作定义和应用程序组。
提供桌面所需的操作系统的网络配置。
请参见"为桌面配置基本操作系统联网"。
提供客户机所需的通用桌面配置。
请参见"配置桌面客户和服务器"。
修改操作查找路径,使其包含数据库主机。
修改应用程序查找路径,使其包含执行主机。
请参见"应用程序查找路径"。
标准的应用程序服务器配置是在应用程序服务器上运行应用程序。但有时将应用程序安装在远程系统上而在本地的会话服务器上执行是可取的。
不需要特殊的配置。
修改应用程序查找路径。利用到应用程序的本地绝对路径 。
例如,可利用下面的变量定义来找到在系统 sysAAA 上注册的某一应用程序:
DTSPSYSAPPS=/net/SysAAA/etc/dt/appconfig/appmanager/C
会话服务器必须能访问诸如 app-defaults、消息目录和共享库之类的应用程序配置文件。