应用程序管理器是用户可用应用程序的桌面容器。
顶层的"应用程序管理器"通常包含目录。 每个目录及其内容都被称作应用程序组。
应用程序组及其内容是从本地以及整个网络上的多个位置收集的。
在文件系统中,"应用程序管理器"是目录 /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 下的应用程序组。
非定制的桌面提供四个应用程序组。
Desktop_Apps
Desktop_Tools
Desktop_Controls
Information
System_Admin
图形 4-2 显示包含若干不同的应用程序组的应用程序管理器窗口。表 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 " 的空应用程序组,用作系统安装的所有游戏的容器。
将应用程序添加到应用程序管理器的方法有两种:
注册应用程序
添加应用程序图标而不注册该应用程序
应用程序注册提供完整的应用程序集成。
注册应用程序的方法有两种:
在安装桌面智能型应用程序时,注册自动进行。请参阅"向应用程序管理器中添加桌面智能型应用程序"。
现有的应用程序可通过创建登记软件包来注册。请参阅"注册现有的或非桌面智能型应用程序"。
登记软件包的使用更加简化了桌面应用程序的管理。登记软件包创建于文件系统中桌面配置文件所在位置之外的其他某个位置。
当要使"应用程序管理器"只包含启动应用程序的图标时,这是首选的添加应用程序的方法。
可拥有自己的应用程序组,但通常是将图标放置在现有的应用程序组中
将其桌面配置文件直接放置在桌面查找路径下。
桌面智能型应用程序是在安装时自动注册到"应用程序管理器"中的应用程序。应用程序的文件集包括了桌面所需要的登记软件包。
这是将应用程序完全集成到桌面的首选方法。
桌面提供有工具 dtappintegrate,它可以在登记软件包文件和桌面搜索路径上的目录之间创建链接。
桌面注册在第 5 章,注册应用程序中讲解。
本步骤讲解如何向现有的应用程序组中添加应用程序图标。
例如,桌面提供名为 System_Admin 的应用程序组,该应用程序组是为与系统管理相关的各种应用程序和脚本而保留的。如果有个用户频繁运行的脚本,您可能想让用户能够通过双击位于 System_Admin 应用程序组中的图标来运行该脚本。
使用"创建操作"为应用程序创建操作定义。
有关"创建操作"的详细信息,请参阅第 11 章,用创建操作命令来创建操作和数据类型。
在应用程序组的目录下创建与操作名称相同的可执行文件。 该文件的内容并不相关。
例如,如果已创建名称为"Cleanup"的操作,用于运行系统管理工具,则需要创建可执行文件:
/etc/dt/appconfig/appmanager/language /System_Admin/Cleanup
通用应用程序是个应用程序组 (目录) , 它不与具体的应用程序产品相关联。例如,内置的应用程序组 Desktop_Tools 是个通用组,它包含许多应用程序的图标,这些应用程序与单独某个产品有关,但并不是单独某个产品的一部分。
可以创建附加的通用应用程序组。例如,您可能想创建称作"游戏"的组来收集系统中可用的各种游戏。
通用应用程序组在范围上可以是全系统,也可以是个人的。
以超级用户登录。
如果应用程序组位于 /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
应用程序组的新副本将具有高于其内置版本的优先级。
修改应用程序组的副本。例如,可以添加新的操作文件 (和操作具有相同名称的可执行文件)。
要查看更改,可先注销,然后再重新登录。
修改应用程序查找路径的主要原因是为了添加应用程序服务器。把应用程序服务器添加到搜索路径后,"应用程序管理器"收集所有应用程序服务器上的全系统应用程序组。
有关应用程序查找路径的详细信息,请参阅"应用程序查找路径"。
缺省的应用程序查找路径所包括的目录列在中。
表 4-3 缺省的应用程序查找路径目录
范围 |
查找路径目录 |
---|---|
个人 |
HomeDirectory /.dt/appmanager |
全系统 |
/etc/dt/appconfig/appmanager/language |
内置 |
/usr/dt/appconfig/appmanager/language |
要促成与应用程序服务器的通讯,除了要修改应用程序查找路径, 可能还要执行其他一些配置任务。请参阅 "管理应用程序服务"。
以超级用户登录。
如果文件 /etc/dt/config/Xsession.d/0010.dtpaths 不存在, 则通过复制 /usr/dt/config/Xsession.d/0010.dtpaths 来创建它。
打开 /etc/dt/Xsession.d/0010.paths,以便进行编辑。添加或编辑用于设置并输出 DTSPSYSAPPHOSTS
变量行:
export DTSPSYSAPPHOSTS=hostname:[,hostname]
例如,下行将系统 ApServA 添加到应用程序查找路径:
export DTSPSYSAPPHOSTS=ApServA:
通知系统上的所有用户,告诉他们注销后重新登录更改才能生效。
打开 HomeDirectory /.dtprofile,以便进行编辑。
添加或编辑用于设置并输出 DTSPUSERAPPHOSTS
变量行:
export DTSPUSERAPPHOSTS=hostname:[,hostname]
例如,下行将系统 ApServB 和 ApServC 添加到应用程序查找路径中:
export DTSPUSERAPPHOSTS=ApServB:,ApServC:
注销并重新登录。
通用应用程序管理器的管理任务包括:
删除应用程序
会话期间,重新读取应用程序数据库
如果应用程序是使用 dtappintegrate 工具注册的,则还可以使用 dtappintegrate 逆转此过程。如果应用程序被注销,其应用程序组被从应用程序管理器中删除,而其操作、数据类型、图标以及帮助将不再可用。
如果要添加应用程序并使所作更改立即生效,就必须重建"应用程序管理器"。
打开 Desktop_Tools 应用程序组,双击"重新装入应用程序"。
将应用程序添加到应用程序服务器后,"重新装入应用程序" 对于更新应用程序管理器是有用的。但是,"重新装入应用程序"并不检测已从应用程序服务器删除的应用程序,也不检测已经移动到其他位置的应用程序。用户注销并重新登录后,这些更改才能生效。
文本编辑器和终端仿真器都可通过在"前面板" 中选择控制,或者通过在"应用程序管理器"中双击图标来启动。
这些应用程序也可以通过其他桌面活动来启动。
当用户在"文件管理器"中选择了文本文件,然后在"选中"菜单下选择"打开"时,文本编辑器应用程序就会打开。缺省的文本编辑器是 dtpad。
当用户从"文件管理器"的"文件"菜单下选择"打开终端",或者当操作打开终端仿真器窗口时,终端仿真器就会运行。缺省的终端仿真器是 dtterm。
在上述情况下,可以通过配置桌面来使用不同的文本编辑器或终端仿真器应用程序。
如果更改是全系统的,则以超级用户登录。
为新的文本编辑器或终端仿真器应用程序创建操作。
可以使用"创建操作"应用程序。图形 4-3 显示的是一个名为 TextPad 的应用程序填充好的"创建操作"窗口。有关"创建操作"的详细信息,请参阅第 11 章,用创建操作命令来创建操作和数据类型。
或者,手动创建操作定义;例如:
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 章,手动创建操作。
将包含新操作的配置文件放到适当的目录:
全系统:/etc/dt/appconfig/types/language
个人: HomeDirectory /.dt/types
如果它不存在,就创建相应的 user-prefs.dt 文件,其方法是将/usr/dt/appconfig/types/language/user-prefs.dt 复制到:
全系统:/etc/dt/appconfig/types/language 目录
个人:HomeDirectory /.dt/types 目录
在系统范围或个人的 user-prefs.dt 文件中编辑文本编辑器或者终端的操作。修改 MAP_ACTION
行,使操作映射为新的操作。
例如,将下行:
MAP_ACTION Dtpad
更改为:
MAP_ACTION TxtPd
保存 user-prefs.dt 文件。
在 Desktop_Tools 应用程序组中双击"重新装入应用程序",以便重新装入操作数据库。