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

信息 

/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

如果已经定制了"信息"或 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所示。

表 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 应用程序组中双击"重新装入应用程序",以便重新装入动作数据库。