使用 Sun Management Center 软件,您可以通过添加外部的独立应用程序(可以从主控制台窗口启动)来自定义“工具”菜单。此类应用程序必须是用 Java 编程语言编写的。非 Java 应用程序可以包含在 ExampleSystemCommand Java 包装类(在单独的进程中执行另外的程序或 shell 脚本)内。这类应用程序不需要使用选定的主机对象,并且启动之后也不会与 Sun Management Center 进一步交互。
应用程序名称可以在 console-tools.cfg 文件中指定。应用程序名称将添加到主控制台窗口的“工具”菜单上,该菜单位于标准 Sun Management Center 菜单项之下。应用程序在单独的窗口中启动。
console-tools.cfg 文件是一个纯文本文件,位于 Sun Management Center 服务器主机上。可以随时(包括控制台正在运行时)修改该文件,但是,因编辑而产生的更改只有在执行 es-tool 脚本且重新启动控制台后才生效。该文件由多行组成,每行说明一个应用程序;空行和以井号 (#) 开头的行将被忽略。行中的字段用逗号 (,) 分隔。
作为 shell 脚本或可执行的二进制文件执行的应用程序根据以下格式的行定义:
menu_label,class [args] |
其中:
菜单标签是显示在“工具”菜单中的字符串。该字符串既可以是本地化的文本,也可以是未本地化的文本。未本地化的文本中可以包含空格。本地化的文本必须指定为 property-file:密钥对,其中:
特性文件是包含适用于特定语言环境、可本地化信息的文件的名称
key 是用来在属性文件中定位“工具”菜单中显示的字符串的标识符
注意,密钥中不能包含空格。
类是全限定的 Java 类名称。
参数是该类使用的变量列表。
例如,下面的文件显示了要添加到“工具”菜单中的三个应用程序的项,这三个应用程序为:Example GUI、rlogin 和 ftp。
# Format: # menu_label, class arguments Example GUI,exampleApp.ExampleGUITool Rlogin,com.sun.symon.base.client.console.SMSystemCommand "/usr/openwin/bin/xterm -e rlogin $host" "start rlogin $host" exampleApp.ExampleSystemCommand:ftp,exampleApp.ExampleSystemCommand "/usr/openwin/bin/xterm -e ftp $host" "start ftp $host"
每项必须在一行中说明,尽管示例中显示的文本是换行的。
Java 包装类 SMSystemCommand 允许用户执行任何 shell 命令。此类调用两个参数。第一个参数是要执行的 shell 命令。
如果指定了程序名,则需要给出完整的路径名。
如果命令包括空格,则需要用双引号将整个 shell 命令引起来。
第二个参数是要在 Microsoft Windows 客户机上运行的命令。下面一行是此命令的示例:
com.sun.symon.base.client.console.SystemCommand "<shell command>" "<windows command>"
在这种情况下,将忽略第一个参数。如果存在特殊的变量引用,将对参数执行变量替换。可以使用以下两个变量:
$host,用当前选定的代理主机名替换
$port,用当前选定的端口号替换
使用标准文本编辑器在 /var/opt/SUNWsymon/cfg/console-tools.cfg 文件中添加一行。
该行指定下列内容:
在“工具”菜单上显示的名称
程序的全限定 Java 类名
任何需要的类变量
详细信息,请参见相应章节介绍中的详细说明。
将应用程序的 Java 类文件置于 /opt/SUNWsymon/apps/classes 目录中。
在 Sun Management Center 服务器主机上运行 es-tool 以更新脚本。
# /opt/SUNWsymon/sbin/es-tool /var/opt/SUNWsymon/cfg/console-tools.cfg |
从主控制台窗口的“文件”菜单中选择“退出”,停止控制台。
单击“退出”按钮退出应用程序。
重新启动要将该应用程序添加到“工具”菜单上的控制台。
# /opt/SUNWsymon/sbin/es-start -c |
根据您的站点配置,可能还需要重新启动 Sun Management Center 服务器。