SGD に付属しているログインスクリプトは、いくつかの Tcl コマンドおよびプロシージャーを使用してアプリケーションサーバーとの通信を行います。
Tcl コマンドは、SGD の実行プロトコルエンジンコンポーネントで定義されるコマンドです。これらのコマンドは、アプリケーションサーバーへの接続や SGD アプリケーション認証ダイアログおよび進行状況ダイアログの表示を制御するために、ユーザー独自のログインスクリプトで使用できます。
TCL プロシージャーは、ログインスクリプトのみで定義されます。これらのプロシージャーは、SGD アプリケーション認証ダイアログをより細かく制御するために使用できます。
次の Tcl コマンドおよびプロシージャーは、アプリケーションが起動されたときの SGD アプリケーション認証ダイアログの表示を制御するために使用されます。
authrequest [-normal
|-changed
]-showuser
0|1-showpasswd
0|1-title
title
-message
message
-customuserlabel
0|1-userlabel
label
-custompasswdlabel
0|1-passwdlabel
label
-showpasscache
0|1-showsmartcard
0|1-isuserdialog
0|1|2
この Tcl コマンドは、ユーザー名またはパスワードに関する問題を示すダイアログボックスを表示します。
一般に、authrequest コマンドをログインスクリプトから直接呼び出すことはありません。代わりに、定義済みの Tcl プロシージャーを使用して、このコマンドを必要な引数とともに呼び出します。
このコマンドには次の引数があります。
引数 | 説明 |
---|---|
| パスワードが正しくないことを指定します。 |
| パスワードの有効期限が切れていることを指定します。 |
| ユーザー名フィールドを表示することを指定します。 |
| パスワードが正しくないことを指定します。 |
| 認証ダイアログに使用されるタイトルを指定します。 |
| 認証ダイアログに表示されるメッセージを指定します。 |
| ユーザー名フィールドにカスタマイズされたラベルを使用するかどうかを指定します。 |
| ユーザー名フィールドに使用するカスタマイズされたラベルを指定します。 |
| パスワードフィールドにカスタマイズされたラベルを使用するかどうかを指定します。 |
| パスワードフィールドに使用するカスタマイズされたラベルを指定します。 |
| 「このパスワードを保存する」チェックボックスを表示するかどうかを指定します。 |
| スマートカードオプションを表示するかどうかを指定します。 |
| カスタマイズされた認証ダイアログを使用するかどうかを指定します。 次のいずれかを指定します。
|
次の例では、パスワードが正しくないことを示すダイアログボックスを表示します。
authrequest -normal
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。
この Tcl プロシージャーは、次のオプションを使用して authrequest コマンドを呼び出します。
authenticate [ -normal | -changed ]
次の例では、パスワードが正しくないことを示すダイアログボックスを表示します。
authenticate "-normal"
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。ダイアログにユーザー独自のタイトルを使用したり、ユーザー独自のメッセージを表示したりできます。また、ユーザー名およびパスワードフィールドを表示するかどうかを制御することもできます。
この Tcl プロシージャーは、次の引数を使用して authrequest コマンドを呼び出します。
authenticate2 [ -normal | -changed ] -showuser 0|1 -showpasswd 0|1 -titletitle
-messagemessage
次の例では、パスワードの有効期限が切れていることを示すダイアログボックスを表示します。ユーザー名およびパスワードフィールドが表示されます。
authenticate2 "-changed" "1" "1" "" ""
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。認証ダイアログを完全にカスタマイズできます。
このプロシージャーでは、実行プロトコルエンジンはユーザーがユーザー名フィールドに入力したテキストを確認しません。アプリケーションの接続方法として Secure Shell (SSH) が使用されており、ユーザーがユーザー名を変更した場合、実行プロトコルエンジンは接続を中断しないで、新しいユーザー名として再接続します。これにより、アプリケーションの起動が失敗する場合があります。SSH を使用しており、ユーザーがユーザー名を変更できるようにする場合は、代わりに userauthenticate プロシージャーを使用してください。
この Tcl プロシージャーは、次の引数を使用して authrequest コマンドを呼び出します。
customauthenticate [ -normal | -changed ] -showuser 0|1 -showpasswd 0|1 -titletitle
-messagemessage
-customuserlabel 0|1 -userlabellabel
-custompasswdlabel 0|1 -passwdlabellabel
-showpasscache 0|1 -showsmartcard 0|1
次の例では、パスワードフィールド用にカスタマイズされたラベルが付いたダイアログボックスを表示します。
customauthenticate "-normal" "0" "1" "" "" "0" "" "1" "Enter your password:" "0" "0"
ユーザー名とパスワードに関する問題点を示すダイアログボックスを表示します。認証ダイアログを完全にカスタマイズできます。
このプロシージャーは、ユーザーによってユーザー名が変更されたかどうかを確認する点を除き、customauthenticate と同じです。ユーザー名が変更されている場合、実行プロトコルエンジンはアプリケーションサーバーへの接続を中断し、変更されたユーザーとして再接続します。
この Tcl プロシージャーは、次の引数を使用して authrequest
コマンドを呼び出します。
userauthenticate [ -normal | -changed ] -showuser 0|1 -showpasswd 0|1 -titletitle
-messagemessage
-customuserlabel 0|1 -userlabellabel
-custompasswdlabel 0|1 -passwdlabellabel
-showpasscache 0|1 -showsmartcard 0|1
次の例では、ユーザー名の変更をチェックしたあとの、パスワードフィールド用にカスタマイズされたラベルが付いたダイアログボックスを表示します。
userauthenticate "-normal" "0" "1" "" "" "0" "" "1" "Enter your password:" "0" "0"
次の Tcl コマンドは、アプリケーションが起動されたときの SGD 進行状況ダイアログの表示を制御するために使用されます。
loaderror error
この Tcl コマンドを使用すると、ログインスクリプトから返されたエラーメッセージを上書きできます。この関数を使用すると、たとえば、ログインスクリプトの標準のエラーメッセージをユーザー独自のメッセージに置き換えることができます。アプリケーションの起動に失敗した場合、エラーは進行状況ダイアログとログファイルに表示されます。「ログインスクリプトのエラーメッセージ」を参照してください。
clienttimer [time
] [message
] [timers
]
この Tcl コマンドは、指定された time
の間、message
を進行状況ダイアログボックスに表示します。進行状況バーには、合計の timers
セクションがあります。例を次に示します。
clienttimer 10 "Launching the application" 4
canceltimer
この Tcl コマンドは、clienttimer コマンドを取り消します。このコマンドには引数がありません。
progress [ message
]
この Tcl コマンドは、message
を進行状況ダイアログボックスに表示します。例を次に示します。
progress "Initializing..."
次の Tcl コマンドは、アプリケーションサーバーへの接続を制御するために使用されます。
setbuffer [ -buffer
num
] [ -output
0|1 ]
この Tcl コマンドは、アプリケーションサーバーから読み込むバイト数を定義します。
引数 | 説明 |
---|---|
| バイト数を指定します。デフォルト値は 1 です。 |
| 出力をオン (1) またはオフ (0) にします。デフォルト値は 1 です。 |
例を次に示します。
setbuffer -buffer 1000
locallaunch [ -start
] [ -abort
] [ -user
launchspec
-root
launchspec
]
この Tcl コマンドは、アプリケーションサーバーが SGD サーバーも兼ねている場合に、アプリケーションを起動します。これは最適化起動と呼ばれます。
引数 | 説明 |
---|---|
| 最適化起動で起動します。 |
| 最適化起動を停止し、標準の接続方法に戻ります。 |
| ユーザーが UNIX または Linux プラットフォームの root ユーザーでない場合に、SGD サーバー上でアプリケーションを起動するのに使う接続方法を定義します。 起動がデタッチされているアプリケーション (バックグラウンドアプリケーション) と起動がデタッチされていないアプリケーション (フォアグラウンドアプリケーション) に、別の動作を指定できます。
デフォルトは |
| ユーザーが UNIX または Linux プラットフォームの root ユーザーである場合に、SGD サーバー上でアプリケーションを起動するのに使う接続方法を定義します。 起動がデタッチされているアプリケーション (バックグラウンドアプリケーション) と起動がデタッチされていないアプリケーション (フォアグラウンドアプリケーション) に、別の動作を指定できます。
デフォルト値は |
例を次に示します。
locallaunch -abort
tarantella -nosocket
-portnumber
num
-thirdtiershell
shell
この Tcl コマンドは、アプリケーションサーバーへの接続を設定するために使用されます。sgdconnect コマンドを使用する前に、接続を構成する必要があります。
引数 | 説明 |
---|---|
| アプリケーションの起動に他の方法を使用することを指定します。起動方法の実装は、スクリプト作成者が行う必要があります。たとえば、Expect の spawn コマンドを使用します。これを行なえるのは、X アプリケーションなど、永続的な接続を必要としないアプリケーションの場合だけです。このコマンドが役立つのは、特殊なアプリケーションサーバーを扱う場合や、既存のアプリケーション起動メカニズムと統合化する必要がある場合です。 |
| アプリケーションサーバーへの接続に使用されるポートを上書きします。このオプションを使用する場合は、sgdconnect コマンドの前に tarantella コマンドを実行する必要があります。そうしないと、ポート番号が無視されます。 |
| アプリケーションサーバーで使用するシェルを指定します (たとえば、/bin/sh)。 |
次の例は、TCP ポート 5999 上でアプリケーションサーバーに接続します。
tarantella -portnumber 5999
sgdconnect
実行プロトコルエンジンに、アプリケーションサーバーに接続するよう指示します。このコマンドには引数がありません。
ほとんどの SGD ログインスクリプトは、sgdconnect を使用して接続を確立します。アプリケーションサーバーへの接続を自分で処理する場合は、スクリプトでこのコマンドが使用されないようにする必要があります。
wcpwts.exp
標準ログインスクリプトは、アプリケーションサーバーへの接続にこのコマンドを使用しないログインスクリプトの例です。