libxrx(1) Netscape Navigator 用の RX プラグイン

説明

RX プラグイン は Netscape Navigator (3.0 以降)で MIME 型が RX フォーマットの文章を解釈し、リモートアプリケーションを起動するのに 利用できる。

RX プラグイン は RX 文書を読み、この文書からアプリケーションが使おうとするサービスのリストを取得する。 この情報に基づいて RX プラグイン は要求された様々なサービスを設定する。 X サーバがセキュリティ機能拡張をサポートしている場合、このサービスは認証キーの生成も含 む。 続いて RX プラグイン は対応する CGI スクリプトにおける HTTP の GET リ クエストを使って関連するデータ(X のディスプレイ名等)をアプリケーション に渡す。ウェブサーバは、この CGI スクリプトを実行してアプリケーション を起動する。クライアントは、ウェブサーバのホスト上でユーザの X サーバ に接続して動作する。 加えて、RX 文書が EMBED タグ (Netscape の拡張HTML)の中で使われた時、 リモートアプリケーションをそれが起動されたブラウザページ内に埋め込まれるよう RX プラグイン は XC-APPGROUP 拡張を使う(もしサポートされていれば)。

インストール

Netscape Navigator で RX プラグイン が使えるようにインストールをするには、 libxrx.so.6.3 か libxrx.sl.6.3 (もしくは似たようなもの。あなたのシステムによる) という名前のファイルを <ProjectRoot>/lib (例えば /usr/X11R6.4/lib) から 見つけて、それを /usr/local/lib/netscape/plugins か $HOME/.netscape/plugins にコピーする。 Netscape を混乱させてしまうので、 シンボリックリンクの libxrx.so または libxrx.sl をインストールしてはならない。

Netscape Navigator に RX 補助プログラム(xrx) を設定していたなら、 あらためて設定し直さなくてはならない。普通は、 RX 補助プログラムを使うために mailcap ファイルに加えたはずの行を 単に除去もしくはコメントアウトするだけでよい。 さもなくばプラグインを使うことができない。(普通 mailcap のコメント文字は ''#'' である。)

もし既に Netscape Navigator を実行しているなら、 プラグインライブラリをコピーした後、新たなプラグインを見つけさせるために 終了して再実行する必要がある。 ヘルプメニューの ``About Plug-ins'' ページを調べることによって Navigator がプラグインをうまく読み込んだかどうかチェックできる。 表示は次のようになるはずである:


                            RX Plug-in
    File name: /usr/local/lib/netscape/plugins/libxrx.sl.6.3
    X Remote Activation Plug-in
    Mime Type         Description                  Suffixes  Enabled
    application/x-rx  X Remote Activation Plug-in  xrx       Yes

一度正しく設定すれば、Netscape Navigator は MIME タイプが application/x-rx の文書を取得すると常に RX プラグイン を起動する。

リソース

RX プラグインnetscape.Navigator のウィジェット (class Netscape.TopLevelShell) と関連づけられたリソースを探す。 以下のリソース名とクラス名を認識する。
xrxHasFirewallProxy (class XrxHasFirewallProxy)
X サーバのファイアウォールプロキシ(xfwp 参照)が動作しているかどうか、 またこれを利用するかどうかを指定する。デフォルト値は ``False'' である。 ファイアウォールプロキシは X セキュリティ機能拡張を使っているが、 この機能拡張がクライアントの X サーバへの接続を許すのは ホストベースの認証が有効になっている時だけである。 詳しくは xfwp(1) を参照すること。
xrxInternalWebServers (class XrxInternalWebServers)
X サーバのファイアウォールプロキシが使用されないウェブサーバを指定する (xrxHasFirewallProxy が ``True'' の場合だけ関係がある)。この値は マスクと値のペアのコンマ区切りのリストであり、そのアドレスに基づいて内 部ウェブサーバのフィルタリングに使われる。マスク部分はアドレスのどのセ グメントを考慮するか指定し、値の部分は結果がマッチしなければならない値 を指定する。例えば次のリスト


      255.255.255.0/198.112.45.0, 255.255.255.0/198.112.46.0

は、アドレスの集合 198.112.45.* と 198.112.46.* にマッチする。簡潔に書 くと、これは「(アドレス & マスク) == 値」を評価する。

xrxFastWebServers (class XrxFastWebServers)
LBX が使用されないウェブサーバを指定する。このリソース値は、先に説明し たようなマスク/値のペアのリストである。
xrxTrustedWebServers (class XrxTrustedWebServers)
リモートのアプリケーションが、信頼されるクライアントとして実行されるウェ ブサーバを指定する。デフォルトでは、リモートアプリケーションは信頼でき ないクライアントとして実行される。このリソース値は、先に説明したような マスク/値のペアのリストである。

環境変数

RX 形式の文書が X-UI-LBX サービスをリクエストしたがデフォルトの X サーバが LBX 拡張の使用を宣言してしない場合、RX プラグイン は環境変数 ``XREALDISPLAY'' を調べて次の X サーバのアドレスを取得し、そこで LBX 拡張を探す。 lbxproxy 経由でブラウザを実行している場合、リモートアプリケーショ ンがインターネット上の LBX を利用できるようにしたければ、ユーザは XREALDISPLAYにサーバの実際のアドレスを設定する必要がある。

RX 形式の文書が XPRINT サービスをリクエストした場合、RX プラグイン は環境変数 ``XPRINTER'' を調べ、利用するプリンタ名と X プリントサーバのアドレスを 取得する。サーバのアドレスが XPRINTER の一部として指定されていない場合、 RX プラグイン は環境変数 ``XPSERVERLIST'' が設定されていれば、この最初に指 定されているサーバを使用する。XPSERVERLIST も設定されていなければ、 RX プラグイン は次にビデオサーバをプリントサーバとして使おうとする。プリン タ名が XPRINTER で指定されていない場合、RX プラグイン は環境変数 ``PDPRINTER'', ``LPDEST'', ``PRINTER'' を順番に試す。

最後に、ユーザがファイアウォールプロキシを使っている場合、RX プラグイン は 環境変数 ``PROXY_MANAGER'' を調べてプロキシマネージャのアドレスを取得 する(proxymngr を参照)。これが指定されていなければ、RX プラグイン
 ":6500" をデフォルト値として使用する。

既知のバグ

X プリントサービスを使うため認証キーをリモートアプリケーションに対して 生成するとき、RX プラグイン はタイムアウト時間を無限に設定してキーを作 らなければならない。なぜなら、アプリケーションが実際にいつ X プリン トサーバに接続するかはわからないからである。 そのインスタンスが終了した時(別のページに行った時)、キーは無効にされる。 しかし、プラグインが適切に終了されないと(Netscape Navigator が不意に 破棄された場合など)、プリントの認証は無効にされないまま残ってしまう。

著者

Arnaud Le Hors and Kaleb Keithley, X Consortium