XRX(1)

名前
xrx - RX 補助プログラム

書式
xrx [-toolkitoption ...] filename

説明
このプログラムはウェブブラウザの補助プログラムとして用い、MIME 型 が RX フォーマットである文書を解釈し、リモートアプリケーションを起動する ことができる。

xrx は filename で指定された RX 文書を読み込む。この文書から はアプリケーションが使おうとするサービスのリストを取得する。この情報に 基づいて、xrx は要求された様々なサービスを設定する。X サーバが SECURITY 拡張をサポートしている場合、このサービスは認証キーの生成も含 む。続いて xrx は対応する CGI スクリプトにおける HTTP の GET リ クエストを使って関連するデータ(X のディスプレイ名等)をアプリケーション に渡す。ウェブサーバは、この CGI スクリプトを実行してアプリケーション を起動する。クライアントは、ウェブサーバのホスト上でユーザの X サーバ に接続して動作する。

インストール
ユーザはウェブブラウザを設定して、RX 形式の文書を xrx で読めるよ うにする必要がある。 一般的にはユーザの $HOME/.mailcap ファイルに次の行を追加すればよい:
      application/x-rx; xrx %s

しかし、補助アプリケーションの設定の正しい手順については、利用している ウェブブラウザの説明を参照する必要があるかもしれない。

ウェブブラウザを正しく設定すると、MIME 型が application/x-rx で ある文書を取得すると必ず補助アプリケーションが起動されるようになる。

オプション
xrx 補助プログラムは X ツールキットの標準コマンドラインオプショ ンを全て認識する。その例を1つ挙げる:

-xrm resourcestring
    このオプションは使用するリソース文字列を指定する。コマンドライン上でこ のオプションを複数回指定することもできる。

リソース
xrx プログラムのアプリケーションクラス名は Xrx である。xrx は、 以下のアプリケーションリソース名とクラス名を認識する。

xrxHasFirewallProxy (class XrxHasFirewallProxy)
    X サーバのファイアウォールプロキシ(xfwp 参照)が動作しているかどうか、 またこれを利用するかどうかを指定する。デフォルト値は ``False'' である。

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)
    リモートのアプリケーションが、信頼されるクライアントとして実行されるウェ ブサーバを指定する。デフォルトでは、リモートアプリケーションは信頼でき ないクライアントとして実行される。このリソース値は、先に説明したような マスク/値のペアのリストである。

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

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

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

既知のバグ
X プリントサービスを使うため認証キーをリモートアプリケーションに対して 生成するとき、補助プログラムは無限のタイムアウト時間を設定してキーを作 らなければならない。なぜなら、アプリケーションが実際にはいつ X プリン トサーバに接続するかはわからないからである。したがって、このような場合 には補助プログラムはずっと存在し続けて、アプリケーションが終了したとき (これはビデオキーが期限切れになったときである)にキーを無効にする。しか し、補助プログラムが不意に終了した場合、プリントの認証は無効にされない まま残ってしまう。

関連項目
libxrx (1), xfwp (1), lbxproxy (1), proxymngr (1), The RX Document specification

著者
Arnaud Le Hors, X Consortium