rstart -
リモートクライアント起動機構(Remote
Start client)のサンプル実装
rstart [-c
context] [-g] [-l
username] [-v]
hostname
command args ...
Rstart は 文書 "A Flexible Remote Execution
Protocol Based on
rsh"
で定義されるリモートクライアント起動機構(Remote
Start client)の簡単な
実装である。
リモート実行機構の下部では
rsh が使用される。
オプション¶
- -c context
- 実行するコマンドのコンテクストを指定する。コンテクスト
は
プログラムが実行される一般的な環境を指定する。この環境の詳細は、ホスト
に固有のものである。これはクライアントが環境の設定方法を知る必要をなく
すためのものである。このオプションが省略された場合には、コンテクストに
はデフォルト値 X
が設定される。「普通に」
X
をインストールしたホ
ストから X
のプログラムを実行するためには、これで問題ない。
- -g
- commandをジェネリックなコマンドとして解釈する。これについ
てはプロトコルの文章で説明されている。このオプションは、リモートシステ
ムで呼び出されるものを知らなくても、共通のアプリケーションを呼び出すこ
とを可能にするためにある。
現在定義さているジェネリックなコマンドは
Terminal, LoadMonitor, ListContexts,
ListGenericCommands だけ
である。
- -l username
- このオプションは下位で動作している
rsh
に渡される。つまり、コマ
ンドが指定したユーザとして実行することをリクエストする。
- -v
- このオプションは、rstart
が動作中に詳しい表示を行うようにリクエ
ストする。
このオプションを指定しない場合は、
rstart はリモートの
rstart
の補助プログラムの出力を破棄し、
rstart の補助プログ
ラムに対し、プログラムを実行するために使う
rsh
接続から切り放す
よう指示する。このオプションを指定すると、補助プログラムからの応答が表
示され、実行されるプログラムも接続から切り放されることはない。
この実装は良いものではない。もっと洗練された実装を作ることはできるし、
またそうするべきである。
エラー処理が存在しない。
-v
オプションを指定しないと、リモートか
らのエラー通知は知らされることなく破棄される。
-v オプションを指
定すれば、エラーは通知される。
環境変数 $DISPLAY
の渡し方。現在の実装では、変数の値がコロンで始まるも
のであれば、ローカルのホスト名を値の最初の部分に追加する。ホスト名を一
意に決めるためにはローカルのドメイン名を追加しなければならないが、この
処理は行われない。
環境変数
$SESSION_MANAGERを渡すべきであるが、この処理は行われない。
現在のディスプレイに対する
X11
の認証情報が渡される。
ICE
認証情報を渡すべきであるが、この処理は行われない。渡すべき
ICE 認
証情報の決め方ははっきりとは決まっていない。
-v
オプションを指定しても、サンプルの
rstart 補助プログラ
ムは、実行するプログラムの終了を待つシェルを残す。これによる実害は無く、
消費するリソースもほとんど無いが、それでも望ましくないと思うならば、明
示的に "exec"
コマンドをシェルで指定すれば回避することもできる。以下に
その例を示す。
rstart somehost exec xterm
このやり方は、リモートシステムで使われているコマンドインタプリタに明ら
かに依存する。ここで示した例は
Bourne シェルや C
シェルでは正しく動作
する。
関連項目¶
rstartd(1),
rsh(1), A Flexible Remote Execution Protocol Based on
rsh
Jordan Brown, Quarterdeck Office Systems