应用程序管理器是用户可用应用程序的桌面容器。
顶层的"应用程序管理器"通常包含目录。 每个目录及其内容被称作应用程序组。
应用程序组及其内容是从本地以及整个网络上的多重位置收集的。
在文件系统中,"应用程序管理器"是目录 /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 |
信息 |
/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 " 的空应用程序组,作为系统安装的所有游戏的容器。
将应用程序添加到应用程序管理器的方法有两种:
注册应用程序
添加应用程序图标而不注册该应用程序
应用程序注册提供完整的应用程序集成。
注册应用程序的方法有两种:
在安装桌面智能型应用程序时,注册自动发生。 请参阅"向应用程序管理器中添加桌面智能型应用程序"。
已有的应用程序可通过创建注册程序包来注册。 请参阅"注册已有的或非桌面智能型的应用程序"。
注册程序包的使用更加简化了桌面应用程序的管理。 注册程序包创建在文件系统中 桌面配置文件所在位置之外的其它位置。
当要使"应用程序管理器"只包含起动应用程序的图标时, 这是首选的添加应用程序的方法。
可拥有自身的应用程序组,但通常是将图标放置在已有的应用程序组中
可以将它的桌面配置文件直接放置在桌面搜索路径下。
桌面智能型应用程序在安装时自动注册到"应用程序管理器"中。应用程序的文件集包括了桌面所需要的注册程序包。
这是将应用程序完全集成到桌面的首选方法。
桌面提供有工具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所示。
表 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 应用程序组中双击"重新装入应用程序",以便重新装入动作数据库。