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

第 4 章 添加和管理应用程序

应用程序管理器是用户可用应用程序的桌面容器。

应用程序管理器的结构

顶层的“应用程序管理器”通常包含目录。 每个目录及其内容都被称作应用程序组

图形 4–1 应用程序管理器中的应用程序组

Graphic

应用程序组及其内容是从本地以及整个网络上的多个位置收集的。

应用程序管理器的目录位置

在文件系统中,“应用程序管理器”是目录 /var/dt/appconfig/appmanager/login-hostname-display。用户每次登录时都动态创建此目录。

例如,如果用户 ronv 从显示屏 wxyz:0 登录, 就会创建应用程序管理器目录 /var/dt/appconfig/appmanager/ronv-wxyz-0

应用程序管理器如何查找和收集应用程序

“应用程序管理器”是通过收集本地和远程的应用程序组而建立的。应用程序组是从位于应用程序查找路径上的目录中收集的。

缺省的应用程序查找路径由表 4–1中所显示的位置组成。

表 4–1 缺省的应用程序查找路径的位置

范围 

位置 

内置 

/usr/dt/appconfig/appmanager/language

全系统 

/etc/dt/appconfig/appmanager/language

个人 

HomeDirectory /.dt/appmanager

要创建顶层的“应用程序管理器”,登录时会创建从位于应用程序查找路径上的目录中的应用程序组 (目录) 到应用程序管理器目录 /var/dt/appconfig/appmanager/login-hostname-display 之间的链接。收集操作是由桌面公用程序 dtappgather 进行的,该公用程序在用户成功登录后由“登录管理器”自动运行。

例如,桌面提供内置应用程序组:

 /usr/dt/appconfig/appmanager/language/Desktop_Tools

登录时,符号链接创建到:

 /var/dt/appconfig/appmanager/login-hostname-display/Desktop_Tools

应用程序查找路径可以包括远程目录。这就提供了从位于整个网络上的系统中收集应用程序组的方法。有关详细信息,请参阅向应用程序查找路径中添加应用程序服务器

收集应用程序的优先级规则

如果查找路径上存在有复制,则个人应用程序组具有高于全系统组的优先级,全系统组具有高于内置组的优先级。例如,如果 /usr/dt/appconfig/appmanager/C/Desktop_Tools/etc/dt/appconfig/appmanager/C/Desktop_Tools 都存在,要使用的将是 /etc 下的应用程序组。

缺省桌面所提供的应用程序组

非定制的桌面提供四个应用程序组。

如何收集应用程序组的实例

图形 4–2显示包含若干不同的应用程序组的应用程序管理器窗口。表 4–2显示这些应用程序组来自的目录。

图形 4–2 典型的“应用程序管理器”窗口

Graphic

表 4–2 应用程序组来源

名称 

所收集的目录 

CAD_App 

/net/ApServA/etc/dt/appconfig/appmanager/C/CAD_App

DrawingApp 

/etc/dt/appconfig/appmanager/C/DrawingApp

Desktop_Apps 

/usr/dt/appconfig/appmanager/C/Desktop_Apps

Desktop_Tools 

/usr/dt/appconfig/appmanager/C/Desktop_Tools

Information 

/usr/dt/appconfig/appmanager/C/Information

OpenWindows 

/usr/dt/appconfig/appmanager/C/Information

System_Admin 

/etc/dt/appconfig/appmanager/C/System_Admin

MySpreadSheet 

/users/anna/.dt/appmanager/MySpreadSheet

Media_Tools 

/etc/dt/appconfig/appmanager/C/Media_Tools

如果已经定制了 Information 或 System_Admin 应用程序组,则将另从 /etc/dt/appconfig/appmanager/C收集它们。

CAD_App 组之所以被收集,是因为名为 ApServA 的系统已经添加到应用程序查找路径 (见向应用程序查找路径中添加应用程序服务器)。 MySpreadSheet 是个人应用程序组,仅供用户 anna 使用。

向应用程序管理器添加应用程序

应用程序添加到应用程序管理器后,应用程序组中会出现一图标,用以启动该应用程序。

许多应用程序提供应用程序组。应用程序组是位于应用程序管理器顶层中的目录,它包含了应用程序的图标以及其他与应用程序有关的文件。

有些应用程序可能没有自己的应用程序组。而是将启动应用程序的图标放置在一个通用应用程序组中。例如, 可创建名为“Games ” 的空应用程序组,用作系统安装的所有游戏的容器。

向应用程序管理器添加应用程序的方法

将应用程序添加到应用程序管理器的方法有两种:

注册应用程序

应用程序注册提供完整的应用程序集成。

经过注册的应用程序:

注册应用程序的方法有两种:

登记软件包的使用更加简化了桌面应用程序的管理。登记软件包创建于文件系统中桌面配置文件所在位置之外的其他某个位置。

在不使用登记软件包的情况下添加应用程序

当要使“应用程序管理器”只包含启动应用程序的图标时,这是首选的添加应用程序的方法。

在不使用登记软件包的情况下添加的应用程序:

请参阅向现有的应用程序组添加应用程序图标

向应用程序管理器中添加桌面智能型应用程序

桌面智能型应用程序是在安装时自动注册到“应用程序管理器”中的应用程序。应用程序的文件集包括了桌面所需要的登记软件包。

  1. 使用应用程序所提供的指令来安装应用程序。

  2. 安装完成后,双击 Desktop_Tools 应用程序组中的 “重新装入应用程序”。

  3. 验证安装完成:

    1. 打开应用程序管理器,检查新的应用程序组是否存在。

    2. 要打开应用程序,先打开应用程序组,然后双击应用程序的图标。

注册现有的或非桌面智能型应用程序

这是将应用程序完全集成到桌面的首选方法。

桌面提供有工具 dtappintegrate,它可以在登记软件包文件和桌面搜索路径上的目录之间创建链接。

桌面注册在第 5 章,注册应用程序中讲解。

向现有的应用程序组添加应用程序图标

本步骤讲解如何向现有的应用程序组中添加应用程序图标。

例如,桌面提供名为 System_Admin 的应用程序组,该应用程序组是为与系统管理相关的各种应用程序和脚本而保留的。如果有个用户频繁运行的脚本,您可能想让用户能够通过双击位于 System_Admin 应用程序组中的图标来运行该脚本。

  1. 使用“创建操作”为应用程序创建操作定义。

    有关“创建操作”的详细信息,请参阅第 11 章,用创建操作命令来创建操作和数据类型

  2. 在应用程序组的目录下创建与操作名称相同的可执行文件。 该文件的内容并不相关。

    例如,如果已创建名称为“Cleanup”的操作,用于运行系统管理工具,则需要创建可执行文件:

    /etc/dt/appconfig/appmanager/language /System_Admin/Cleanup

创建和管理通用应用程序组

通用应用程序是个应用程序组 (目录) , 它不与具体的应用程序产品相关联。例如,内置的应用程序组 Desktop_Tools 是个通用组,它包含许多应用程序的图标,这些应用程序与单独某个产品有关,但并不是单独某个产品的一部分。

可以创建附加的通用应用程序组。例如,您可能想创建称作“游戏”的组来收集系统中可用的各种游戏。

通用应用程序组在范围上可以是全系统,也可以是个人的。

创建全系统的通用应用程序组

  1. 以超级用户登录。

  2. /etc/dt/appconfig/appmanager/language 下创建目录。

    目录的名称作为应用程序组的名称。

  3. 在 Desktop_Tools 应用程序组中,双击“重新装入应用程序”。

创建个人的通用应用程序组

  1. HomeDirectory/.dt/appmanager 下创建目录。

    目录的名称作为应用程序组的名称。

  2. 在 Desktop_Tools 应用程序组中,双击“重新装入应用程序”。

定制内置应用程序组

  1. 以超级用户登录。

  2. 如果应用程序组位于 /usr/dt/appconfig/appmanager/language,则将应用程序组复制到 /etc/dt/appconfig/appmanager/language 下。

    例如,下面的命令用于复制 Desktop_Tools 应用程序组:

    	cp -r /usr/dt/appconfig/appmanager/C/Desktop_Tools  \
    	/etc/dt/appconfig/appmanager/C

    应用程序组的新副本将具有高于其内置版本的优先级。

  3. 修改应用程序组的副本。例如,可以添加新的操作文件 (和操作具有相同名称的可执行文件)。

  4. 要查看更改,可先注销,然后再重新登录。

修改用于定位应用程序的查找路径

修改应用程序查找路径的主要原因是为了添加应用程序服务器。把应用程序服务器添加到搜索路径后,“应用程序管理器”收集所有应用程序服务器上的全系统应用程序组。

有关应用程序查找路径的详细信息,请参阅应用程序查找路径

缺省的查找路径

缺省的应用程序查找路径所包括的目录列在中。

表 4–3 缺省的应用程序查找路径目录

范围 

查找路径目录 

个人 

HomeDirectory /.dt/appmanager

全系统 

/etc/dt/appconfig/appmanager/language

内置 

/usr/dt/appconfig/appmanager/language

向应用程序查找路径中添加应用程序服务器

要促成与应用程序服务器的通讯,除了要修改应用程序查找路径, 可能还要执行其他一些配置任务。请参阅 管理应用程序服务

设置全系统的应用程序查找路径

  1. 以超级用户登录。

  2. 如果文件 /etc/dt/config/Xsession.d/0010.dtpaths 不存在, 则通过复制 /usr/dt/config/Xsession.d/0010.dtpaths 来创建它。

  3. 打开 /etc/dt/Xsession.d/0010.paths,以便进行编辑。添加或编辑用于设置并输出 DTSPSYSAPPHOSTS 变量行:

    	export DTSPSYSAPPHOSTS=hostname:[,hostname]

    例如,下行将系统 ApServA 添加到应用程序查找路径:

    	export DTSPSYSAPPHOSTS=ApServA:
  4. 通知系统上的所有用户,告诉他们注销后重新登录更改才能生效。

设置个人应用程序查找路径

  1. 打开 HomeDirectory /.dtprofile,以便进行编辑。

  2. 添加或编辑用于设置并输出 DTSPUSERAPPHOSTS 变量行:

    	export DTSPUSERAPPHOSTS=hostname:[,hostname]

    例如,下行将系统 ApServBApServC 添加到应用程序查找路径中:

    	export DTSPUSERAPPHOSTS=ApServB:,ApServC:
  3. 注销并重新登录。

通用应用程序管理器的管理

通用应用程序管理器的管理任务包括:

删除应用程序

如果应用程序是使用 dtappintegrate 工具注册的,则还可以使用 dtappintegrate 逆转此过程。如果应用程序被注销,其应用程序组被从应用程序管理器中删除,而其操作、数据类型、图标以及帮助将不再可用。

  1. 以超级用户登录。

  2. 运行命令:

    	dtappintegrate -sapp_root -u

在会话期间更新应用程序管理器

如果要添加应用程序并使所作更改立即生效,就必须重建“应用程序管理器”。

    打开 Desktop_Tools 应用程序组,双击“重新装入应用程序”。

将应用程序添加到应用程序服务器后,“重新装入应用程序” 对于更新应用程序管理器是有用的。但是,“重新装入应用程序”并不检测已从应用程序服务器删除的应用程序,也不检测已经移动到其他位置的应用程序。用户注销并重新登录后,这些更改才能生效。

更改文本编辑器和终端仿真器

文本编辑器和终端仿真器都可通过在“前面板” 中选择控制,或者通过在“应用程序管理器”中双击图标来启动。

这些应用程序也可以通过其他桌面活动来启动。

在上述情况下,可以通过配置桌面来使用不同的文本编辑器或终端仿真器应用程序。

更改缺省的文本编辑器或终端仿真器

  1. 如果更改是全系统的,则以超级用户登录。

  2. 为新的文本编辑器或终端仿真器应用程序创建操作。

    图形 4–3 “创建操作”窗口

    Graphic

    • 或者,手动创建操作定义;例如:

    		ACTION TextPad
    	{
    		LABEL					TextPad
    		TYPE					COMMAND
    		WINDOW_TYPE				NO_STDIO
    		EXEC_STRING				/usr/TP/bin/TextPad % (File)Arg_1%
    		DESCRIPTION				Double-click this icon to start the \
    									TextPad application.
     		}

    有关手动创建操作定义的信息,请参阅第 12 章,手动创建操作

  3. 将包含新操作的配置文件放到适当的目录:

    • 全系统:/etc/dt/appconfig/types/language

    • 个人: HomeDirectory /.dt/types

  4. 如果它不存在,就创建相应的 user-prefs.dt 文件,其方法是将/usr/dt/appconfig/types/language/user-prefs.dt 复制到:

    • 全系统:/etc/dt/appconfig/types/language 目录

    • 个人:HomeDirectory /.dt/types 目录

  5. 在系统范围或个人的 user-prefs.dt 文件中编辑文本编辑器或者终端的操作。修改 MAP_ACTION 行,使操作映射为新的操作。

    例如,将下行:

    	MAP_ACTION Dtpad

    更改为:

    	MAP_ACTION TxtPd
  6. 保存 user-prefs.dt 文件。

  7. 在 Desktop_Tools 应用程序组中双击“重新装入应用程序”,以便重新装入操作数据库。