Solaris 公用桌面环境: 高级用户和系统管理员指南

第 7 章 配置在网络中的桌面

桌面被设计为非常适合于高度网络化的环境。

桌面的体系结构使系统管理员能通过网络来分配计算资源。其中包括:

桌面联网概览

操作系统提供了多种联网服务,其中包括分布式文件系统和远程执行。 X 服务器提供了附加的联网能力,其中包括访问远程显示及安全服务。

桌面提供了一个处于这些联网特性之上的用户界面。此界面及其所包含的体系结构的目标在于使网络化 系统具有下述特点:

联网的桌面服务的类型

联网使用户可以访问分布在其它系统中的各种资源,这些资源包括:

联网术语用服务器一词来描述向一个或多个其它系统提供计算资源 的系统。当一系统从 服务器获得服务的时候,它被称为此服务器的客户

在一套复杂的网络系统中,一个系统可以使用位于整个网络中的大量的服务器所提供的服务。此外,一个系统既可以是某一类型的服务器(例如,会话服务器),又可以同时是某一服务器(例 如,应用程序服务器)的客户。

典型的网络情况

从桌面的角度来看,一套典型的网络配置可以包含下列主组件的组合:

显示-X 服务器的运行位置

登录/会话服务器-桌面应用程序("登录管理器"、"工作区 管理器"等等)的运行位置。

应用程序服务器-其它应用程序的运行位置

文件服务器-应用程序使用的数据所在的位置

最为通用的网络配置常常包括一些访问应用程序管理器的系统。 图形 7-1举例说明了使用应用程序服务器的工作站。此 X 服务器和桌面会话是在该工作站上运行的。

图形 7-1 应用程序服务器为桌面会话提供服务

Graphic

网络也经常利用文件服务器来存储大量数据。这些数据可能被应用程序服务器上的应用程序所使用。 或者由桌面应用程序(例如,"文件管理器"需要访问数据文件,以便将其在"文件管理器"窗口中显示出来)使用。

图形 7-2 文件服务器为应用程序服务器和会话服务器提供数据

Graphic

X 终端运行 X 服务器,并从另一系统中获得桌面会话服务。

图形 7-3 X 终端从会话服务器中获得会话服务

Graphic

其它的联网情况

桌面很灵活,可以支持更多复杂的网络配置。这往往能提供各种服务,除了文件服务器之外, 应用程序服务器也可使用这些服务。

图形 7-4 桌面应用程序服务器所需的服务可以是分布的

Graphic

汇总-服务器的类型

显示-运行 X 服务器的系统。

登录和会话服务器-运行桌面会话(诸如"登录服务器"、"会话服务器"和"窗口服 务器"之类)的系统。

应用程序服务器-运行应用程序的系统。也称为 执行宿主机

文件服务器-存储应用程序的数据文件的系统。

帮助服务器-存储帮助文件的系统。

(动作)数据库服务器-存储文件的系统,这些文件包含动作和数据类型的定义。

图标服务器-存储图标文件的系统。

网络还可能包括一些附加服务器,诸如口令服务器、邮件服务器、视频服务器之类。

配置桌面联网的一般步骤

桌面联网配置一般有三步:

  1. 配置基本操作系统的网络服务。

    这些是由操作系统所提供的联网服务,桌面依赖于这些服务。请参阅 "为桌面配置基本操作系统网络"

  2. 安装并配置桌面联网软件和服务。

    无论是否建立了客户系统和服务器系统的类型,这些服务都是桌面所必需的。请参阅 "配置桌面客户和服务器"

  3. 配置特定的服务器和客户类型。

    例如,配置一应用程序服务器就与配置文件服务器的步骤不同,请参阅 "管理应用程序服务"

为桌面配置基本操作系统网络

桌面要求下列基本网络配置:

为用户提供登录帐户

本节描述桌面联网所需要的登录帐户。

提供登录帐户

用户必须有登录帐户在:

提供一致的用户和组 ID

UNIX 用户是由登录名和数字式用户 ID ( UID )来标识的。在桌面网络中,用户在所有的客户和服务器系统中应有相同的 登录名和 UID 。

通常指定 UNIX 用户为某个或某些登录组的成员,每组均有其用户组名和数字式用户组 ID ( GID )。在桌面网络中,所有的系统都应有一致的组名和组 ID。

关于进一步信息,请参阅 id(1) 或 id(1M) 的手册页。

配置分布式文件系统的访问

桌面利用 NFS 文件系统来进行系统间的文件共享。必须能在网络中标识所有包含共享文件的文件系统,并确保它们已正确的装配在所有相应的系统中。

典型的情况是,必须提供下列远程文件访问:

提供联网的起始目录

若用户只使用一个起始目录,且所有客户和服务器系统均共享此目录, 则此桌面网络系统的工作效率最高。

联网的起始目录可以使得用户使用网络中不同的系统 而不失去个人的定制环境和配置。 这是因为用户个人的定制信息和用以恢复以前会话的信息被存储在用户起始目录的子目录中。

下列应用也需要通用的起始目录:

文件名一致性

应配置网络,以便用户可使用相同的文件名,在所有系统上访问它们的数据文件。 这称作提供文件名一致性,文件名一致性是通过创建恰当的符号链接来完成的。例如,可通过 创建符号链接到实际目录装配位置的方法来配置网络中所有系统,使每个用户的起始目录为 /users/login_name

配置对远程打印机的访问

桌面利用 lp打印假脱机程序来访问本地或远程 的打印机。关于配置 lp的进一步信息,请参阅 lpadmin( 1M ) 的手册页。

在试图利用桌面图形接口进行打印之前,应首先测试是否能利用lp命令正确地打印到所有打印机。

确保使用一致的打印设备名。例如,如果特定的打印机在与之直接相连的系统中的设备名为 Postscript1,则所有其它远程访问此打印机的系统也都应使用Postscript1名。

配置电子邮件

桌面邮寄程序利用 sendmail在系统间传递邮件。 关于如何配置电子邮件的连接的进一步信息,请参阅 sendmail( 1M ) 的手册页。

在试图从桌面发送或接收邮件之前,应当测试一下是否可以用 mailx命令来正确地发送和接收邮件。

配置 X 授权

桌面利用缺省的 X 机制来为访问本地显示的远程应用程序( X 客户)授权。配置的最简便的方法是为每用户提供联网的起始目录。这就保证了能满足 下列要求:

配置桌面客户和服务器

本节包括针对于桌面网络的配置要求 -也就是说,这些能力是由桌面提供的, 而不是由基本操作系统所提供的。

本节分为两部分:

配置登录和会话服务

登录/会话服务器是个给显示和 X 服务器提供桌面服务("登录管理器"、"会 话管理器"、"文件管理器"、"窗口管理器"等)的系统。

典型的情况是,会话服务器为 X 终端提供服务。但是,可以建立网络配置,网络配置在 X 终端和工作站均可访问的一个或多个服务器上集中会话服务。

"登录管理器"是一桌面组件,负责为其它显示提供登录服务。用户一旦登录,就为用户启动 "会话管理器"。

关于配置登录/会话服务器和 X 终端的进一步信息,请参阅 "在网络显示器上显示登录屏幕"

配置其它与应用程序相关的服务

本节包括对公用桌面联网的要求:

配置桌面客户和服务器

  1. 提供桌面所要求的基本操作系统网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 安装桌面,或最小文件集。

    必须安装:

    • 整个公共桌面环境运行时文件集

    • ,下列文件集中的文件:CDE-MIN 和 CDE-TT


      注意:

      安装和文件集可能会因供应商的不同而有差异。


  3. 为 ToolTalk 文件名数据库服务器守护程序rpc.ttdbserverer 配置系统。

    安装桌面时,这个工作会自动进行。关于进一步信息,请参阅 "配置 ToolTalk 数据库服务器 "

  4. 安装和配制子进程控制守护程序(dtspcd)。

    安装桌面时,这个工作会自动进行。关于进一步信息, 请参阅 "配置子进程控制守护程序"

  5. 装配所需的所有远程数据。

    当数据不在使用此数据的应用程序所在的系统上的时候, 数据被认为是"远程"的。

    例如:

    • 如果应用程序利用了位于文件服务器上的数据,则它必须装配 这些文件。

    • 如果"文件管理器"图标位于图标服务器上,则会话服务器 必须装配这些文件。

    • 如果网络使用帮助服务器来存放桌面帮助文件,则会话服务器和所有应用程序服务器必须装配这些帮助数据。

      关于装配点的详细信息,请参阅下一节 "为远程文件系统配置装配点"

为远程文件系统配置装配点

当桌面从系统中将文件名传输到另一系统中时,它必须变换这些文件名 ,或将其映射成对目标系统有意义的文件名。由于在不同的系统中同一文件有可能被装配在不同的位置, 所以必须用不同的文件名来访问它们,因此这种映射是必需的。例如文件 /projects/big,它在系统sysA中的,可能作为/net/sysA/projects/big,它在sysB中被 访问。

文件名映射的要求

为了正确的执行此文件名映射操作,下列条件中必须有一个为真:

为 DTMOUNTPOINT 设置值

如果下列两个条件均为真,则必须设置 DTMOUNTPOINT 环境变量:

  1. 编辑文件 /etc/inetd.conf

    1. 查找 dtspcd项并向其中添加:

      		-mount_point mount_point
      
    2. 查找 rpc.ttdbserver项并向其中添加:

      		-m mount_point
      

      例如,如果自动装配程序正在与装配点 /nfs,一起使用, 则 在/etc/inetd.conf中的项为:

      	dtspc stream tcp nowait root /usr/dt/bin/dtspcd \  
        /usr/dt/bin/dtspcd -mount_point /nfs  	
        rpc stream tcp wait root /usr/dt/bin/rpc.ttdbserver \  	
        100083 1 rpc.ttdbserver -m /nfs
  2. 在重新读取 /etc/inetd.conf的系统上执行进程。 关于进一步信息,请参阅 inetd( 1M ) 的手册页。

  3. 使用由用户登录中继承来的值设置 DTMOUNTPOINT 。

    可通过在 /etc/dt/config/Xsession.d 中设置变量的值的方法来完成。关于设置环境变量的进一步信息,请参阅 "设置环境变量"

配置子进程控制守护程序

桌面的子进程控制 ( SPC ) 服务提供了客户/服务器命令的执行环境。

桌面子进程控制守护程序( dtspcd)是由桌面在启动 远程应用程序时使用的。它是个接收远程客户执行命令的请求的 inet守护程序。关于如何配置 inet守护进 程的进一步信息,请参阅 inetd.conf( 1M ) 的手册页。

桌面的动作调用库,利用 SPC 服务来调用远程动作。

配置 dtspcd

    请确定 dtspc是正确注册到 /etc/services/etc/inetd.conf中。

请参阅 dtspcd(1M) 的手册页。

SPC 安全

对于子进程控制服务的验证是基于文件系统验证的。 dtspcd 必须能访问所有 SPC 客户系统均装配的 验证目录

缺省情况下, dtspcd的验证目录即是用户的起始目录。但可配置 dtspcd,即通过在目录 -/etc/inetd.conf 中设置 auth_dir选项, 使其利用不同的目录。关于进一步信息, 请参阅 dtspcd( 1M ) 的手册页。

由于 SPC 验证是基于文件系统验证的,所以 SPC 服 务仅仅与分布式文件系统的安全性一样 。如果正在一个不可信赖的分布式文件系统的网络中使用桌面的话,可能想要使 dtspcd无效,这时只需将 /etc/services中的 dtspc项加以注释,即可使其无效。

为远程执行配置环境变量

当桌面利用动作来启动远程系统上的应用程序的时候, 用户的环境变量被复制到远程系统上, 并放入相应的应用程序的环境中。

缺省情况下,在被复制到远程系统之前,更改了某些环境变量。在环境变量放入应用程 序的环境之前,可通过配置动作调用组件和桌面的子进程控制 服务来完成对附加环境变量的处理。

关于缺省的配置和如何修改它的进一步信息,请参阅 dtactionfile(4) 和 dtspcdenv(4) 的手册页。

配置 ToolTalk 数据库服务器

ToolTalk 组件之一是 ToolTalk 数据库服务器, /usr/dt/bin/rpc.ttdbserver

ToolTalk 消息服务使用了 ToolTalk 数据库服务器, 且以此来作为文件名映射。它通常在安装桌面的时候注册到 /etc/inetd.conf中,不需另外作配置工作。

关于 ToolTalk 数据库服务器及其配置选项的进一步信息,请参阅 rpc.ttdbserver( 1M ) 的手册页。

配置 ToolTalk 消息服务器

ToolTalk 消息服务器是 ttsession。缺省情况下,它不需任何 配置;在登录期间,它由 X 会话正文启动。

关于 ToolTalk 消息服务器及其配置选项的详细信息,请参阅 ttsession 的手册页。

配置日历守护程序

"日历"应用程序的组件之一是"日历守护程序"rpc.cmsd。它通常在安装桌面时注册到 /etc/inetd.conf中,因此不需要附加的配置工作。

关于日历守护程序及其配置选项的进一步信息,请参阅 rpc.cmsd(1) 的手册页。

管理应用程序服务

本节包括下列服务器的特殊配置要求:

搜索路径环境变量

桌面利用一系列环境变量来指定查找应用程序的桌面配置文件的搜索路径,这些配置文件包括 动作和数据类型数据库文件、帮助文件和图标文件。

关于如何使用搜索路径环境变量的进一步信息,请参阅 第 9 章,桌面搜索路径,或参阅 dtenvvar(5) 的手册页。

配置应用程序服务器及其客户

在标准的应用程序服务器的配置中,应用程序服务器包含与应用程序相连的所有二进制和配置文件 ,其中包括:

图形 7-5 标准应用程序服务器的配置

Graphic

配置应用程序服务器

  1. 提供桌面所需的操作系统网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 提供服务器所需的公用桌面配置。

    请参阅"配置桌面客户和服务器"

  3. 安装应用程序。

  4. 如果应用程序不能自动在系统中注册,则必须执行 注册过程。

    请参阅 第 5 章,注册应用程序

配置应用程序服务器客户

  1. 提供桌面所需的操作系统网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 配置客户所需的公用桌面配置。

    请参阅 "配置桌面客户和服务器"

  3. 在系统范围内或个人范围内将应用程序服务器添加至应用程序搜索路径中:

    系统范围内-设置并输出/etc/dt/config/Xsession.d/0010.dtpaths中的变量 DTSPSYSAPPHOSTS。

    个人范围内-设置并输出 HomeDirectory/.dtprofile中的变量 DTSPUSERAPPHOSTS

    例如, 如下所示的在 /etc/dt/config/Xsession.d/0010.dtpaths 中的行将在系统中的应用程序搜索路径中添加宿主机名 SysAAASysBBB

    export DTSPSYSAPPHOSTS=SysAAA:,SysBBB:

    关于设置应用程序搜索路径的进一步信息,请参阅:

配置数据库、图标和帮助服务

通常,与应用程序相关的动作和数据类型定义、图标和帮助数据文件是与应用程序安装在同一系统上的。

例如,可考虑以下典型的帮助数据文件的配置:

创建数据库、帮助或图标服务器

  1. 提供桌面所需的操作系统网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 提供客户所需的公用桌面配置。

    请参阅 "配置桌面客户和服务器"

  3. 安装数据库、帮助或图标文件。

    这些文件可以处于系统的任何地方。但由于应用程序服务器指定了系统 自动搜索下列目录,所以使用 下列位置会很方便。

    • 数据库文件: /etc/dt/appconfig/types/language

    • 帮助文件: /etc/dt/appconfig/help/language

    • 图标文件: /etc/dt/appconfig/icons/language

      如果正在设置数据库服务器,则必须写一些动作来指定它们的 EXEC_STRING命令将在何处运行。请参阅 "指定远程执行的宿主机"

配置会话服务器以找到数据库、图标或帮助服务器

  1. 提供桌面所需的基本操作系统网 络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 提供客户所需的公用桌面配置。

    请参阅 "配置桌面客户和服务器"

  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... 的一部分来设置数据库宿主机为本地系统,因为语法不包括主机限定符。

配置远程执行

  1. 提供桌面所需的操作系统的网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 提供服务器所需的公用桌面配置。

    请参阅 "配置桌面客户和服务器"

  3. 确保应用程序已经正确安装,并为本地执行而配置。

配置包含动作定义的系统

  1. 提供桌面所需的操作系统网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 提供服务器所需的公用桌面配置。

    请参阅 "配置桌面客户和服务器"

  3. 创建并安装动作定义和应用程序组。

    请参阅 "创建在远程系统上运行应用程序的动作""创建和管理通用应用程序组"

配置会话服务器

  1. 提供桌面所需的 操作系统网络配置。

    请参阅 "为桌面配置基本操作系统网络"

  2. 提供客户所需的公用桌面配置。

    请参阅 "配置桌面客户和服务器"

  3. 修改动作搜索路径,使其包含数据库主机。

    请参阅 "数据库(动作 / 数据类型)搜索路径"

  4. 修改应用程序搜索路径,使其包含执行主机。

    请参阅 "应用程序的搜索路径"

在本地运行应用程序

标准的应用程序服务器配置是在应用程序服务器上运行应用程序。但有时可能需要将应用程序 安装在远程系统上,但可以在本地的会话服务器上执行。

图形 7-6 通过装配点执行

Graphic

配置应用程序服务器

不需要特殊的配置。

配置会话服务器

    修改应用程序搜索路径。利用应用程序的本地绝对路径 。

例如,可利用下列变量的定义来找到在系统 sysAAA 上注册的某一应用程序:

DTSPSYSAPPS=/net/SysAAA/etc/dt/appconfig/appmanager/C

会话服务器必须能访问诸如 app-defaults、消息目录和共享库之类的应用程序配置 文件。