共通デスクトップ環境 プログラマーズ・ガイド (ヘルプ・システム編)

実行リンクの制御

ほとんどのハイパーリンクは関連するヘルプ・トピックを表示しますが、ハイパーリンクはシェル・コマンドおよびスクリプトを実行することもできます。このリンクを実行リンクと呼びます。実行リンクはユーザのシステムと対話するので、ヘルプ・システムは実行リンクの処理方法をコントロールするための実行ポリシーを提供します。

ヘルプ・システムは、実行リンクの動作を定義するためにリソースを使用します。DtNexecutionPolicy リソースは、ヘルプ・システムによる実行リンクの処理方法を変更するために、アプリケーションのアプリケーション・デフォルト・ファイルに設定されます。そのほかに、ヘルプ・システムは実行別名と呼ばれるリソースを使用します。実行別名は、実行リンクが実行するコマンド文字列またはスクリプトに名前 (またはラベル) を割り当てるリソースです。

実行ポリシーのデフォルト動作

実行リンクが選択され、そのリンクが実行別名を持つ場合、ヘルプ・システムは別名の値を検索してコマンドを実行します。実行別名が定義されていない場合、ヘルプ・システムは、実行されることになるコマンドを示す確認ダイアログ・ボックスを表示して、そのコマンドを実行するか操作を取り消すかをユーザに尋ねます。

実行別名

ヘルプ・ボリュームで実行リンクを使用するときには、実行別名を作成するようにします。これはつまり、アプリケーションのアプリケーション・デフォルト・ファイルに、実際に実行されるコマンドを表す別名 (名前) を定義することです。この方法の 1 つの利点は、実際のコマンドをヘルプ・ボリュームのソース・ファイルから切り離すことです。これにより、ヘルプ・ボリュームのハイパーリンクを変更せずに、アプリケーション・デフォルト・ファイルのコマンドを編集できるようになります。各ハイパーリンクは 1 つの別名を参照します。別名は、内容が編集されても名前が変わることはありません。たとえば、スクリプトを使用するチュートリアル・ヘルプ・ボリュームは、アプリケーション・デフォルト・ファイルでシェル・スクリプト・コマンドを変更することで、特定のシェル環境を簡単にカスタマイズできます。

実行別名を作成するには

実行別名をアプリケーションのアプリケーション・デフォルト・ファイルに作成するには、次のリソース指定構文を使用します。

application_name.executionAlias.alias_name: command
application_name

ヘルプ・ボリュームを所有するアプリケーション名またはクラス名

executionAlias

リソースが別名であると識別するキーワード

alias_name

コマンドに割り当てられた名前

command

このリンクで実行されるシェル・コマンドまたはスクリプト

command 文字列の長さに制限はありません。複数の行に渡るコマンドを入力するには、(最終行を除く) 各行の終わりに ¥ (バックスラッシュ) を付けてください。

次のリソース・エントリは、端末エミュレータを起動する StartDtterm という実行別名を作成します。& (アンド記号) は、コマンドをバックグラウンドで実行します。

Dtterm.executionAlias.StartDtterm: dtterm &

次のエントリは、NightAlert というアプリケーションで xclock アプリケーションを実行する xclockAlias という別名を作成します。

NightAlert.executionAlias.xclockAlias: xclock &

ハイパーリンクでの実行別名の使用

実行別名は、<link> 要素を使って参照したり、<p><figure> など、ハイパーリンク・パラメータを持つ要素と共に使用できます。

実行別名を使用して実行リンクを作成するには

    <link>要素を次のように使用します。

       
    <link "DtHelpExecAlias alias_name [default_command]" Execute >text<¥link>  
    DtHelpExecAlias

    リンクが実行別名であると識別するキーワード

    alias_name

    実行別名のリソース指定に別名として定義された名前

    default_command オプション

    オプションで、これを指定すると、実行別名がアプリケーションのアプリケーション・デフォルト・ファイルからまだ読み込まれていない場合に、このコマンドが実行されます。たとえば、ヘルプ・ビューアなどのインフォメーション・ビューアでヘルプ・ボリュームを表示しているときには、アプリケーションのリソースは読み込まれていません。

    text

    ハイパーリンク・テキスト (下線が付けられる) として指定したいヘルプ・テキストの部分です。


注 -

実行しているコマンドがすぐに終了しない場合は、そのコマンドに & (アンド記号) を追加してバックグラウンドで実行してください。そうしないと、ヘルプ・ウィンドウはコマンドが終了するまで動作しません。


次のハイパーリンクは、xclockAlias という実行別名を参照します。別名のリソース定義は、「実行別名」に示します。

このリンクは、xclock プログラムをバックグラウンドで起動します。「Start the Clock」の句がハイパーリンクになります。そのハイパーリンクをクリックすると、別のウィンドウで xclock プログラムが実行されます。プログラムを終了するには、ウィンドウを閉じてください。

<link "DtHelpExecAlias xclockAlias" Execute>Start the Clock<¥link>

次の例は、同じハイパーリンクにオプションのデフォルト・コマンドを指定しています。

<link "DtHelpExecAlias xclockAlias xclock &" Execute>Start the Clock<¥link>

DtNexecutionPolicy リソース

DtNexecutionPolicy リソースは、システム管理者またはユーザが、指定したアプリケーションに対して適切なセキュリティのレベルを選択できるようにします。

設定できるリソースの値は次のとおりです。

help_execute_query_all

すべての実行リンクを照会します。

help_execute_query_unaliased

実行別名が定義されていないリンク・コマンドだけを照会します。

help_execute_none

どんな実行リンクも実行しません。

help_execute_all

すべての実行リンクを実行します。

デフォルト値は help_execute_query_unaliased です。実行別名として定義された実行リンクは自動的に実行されますが、その他の実行リンクに関しては、ヘルプ・システムが確認ダイアログ・ボックスを表示します。

アプリケーション開発者が DtNexecutionPolicy を設定することは避けた方がよいでしょう。システム管理者やユーザがこの値を変更できなくなってしまうからです。

関連項目