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. 安装所需的所有远程数据。

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

    例如:

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

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

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

      有关安装点的详细信息,请参见下一节为远程文件系统配置安装点

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

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

文件名映射的要求

为了正确地执行此文件名映射操作,下列之一必须为真:

为 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 的验证目录就是用户的起始目录。但可通过设置目录 -/etc/inetd.conf 中的 auth_dir 选项来配置 dtspcd,以使用不同的目录。有关详细信息,请参阅 dtspcd( 1M )的手册页。

由于 SPC 认证是在文件系统验证的基础上进行的,所以 SPC 服务仅仅与分布式文件系统的安全性一样。如果正在一个您不信任其分布式文件系统的网络中使用桌面的话,您可能想禁用 dtspcd。要禁用 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) 的手册页。

管理应用程序服务

本节讲述下列各项的具体配置要求:

查找路径环境变量

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

有关如何使用查找路径环境变量的详细信息,请参阅桌面查找路径及其环境变量 或 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、消息目录和共享库之类的应用程序配置文件。