LBXPROXY(1)

名前
lbxproxy - 低バンド幅 X プロキシ

書式
lbxproxy [:<display>] [option]

説明
X の低バンド幅拡張(Low Bandwidth extension, LBX)を利用しようとするアプ リケーションは lbxproxy に接続しなければならない。アプリケーションは LBX について何も知る必要はなく、単に通常のサーバのように接続すればよい。 lbxproxy はクライアントの接続を受け付け、X サーバへの 1つの接続上で接 続の多重化を行い、X プロトコルの様々な最適化を行って、バンド幅が小さく かつ(または)遅延の大きい接続上で高速な通信を行う。

許可/認証に関しては、lbxproxy はクライアントから受け取った認証情報をそ のままにサーバに渡すだけである。X クライアントは lbxproxy に接続するの で、ユーザの .Xauthority ファイルがプロキシのネットワーク ID に対応す る有効なキーを持つエントリを含んでいることが重要となる。lbxproxy 自 体はこれらのエントリを .Xauthority ファイルに加える方法とは関係ない。 これはユーザ自身で設定をしなければならない。

lbxproxy にはいろいろなオプションがあるが、いずれも省略可能である。

:<display> が指定された場合、接続を待つ際にプロキシは与えられたディスプレイポート 番号を使用する。ディスプレイポート番号はポート6000番からのオフセットで あり、通常の X のディスプレイ接続の指定方法と全く同じである。 コマンドラインでポート番号が指定されなければ、lbxproxy はデフォルト値 の63番ポートを使う。プロキシが接続待ちに使おうとしたポートが既に使われ ている場合には、プロキシはエラーメッセージを出力して終了する。

他のコマンドラインオプションは以下のように指定する:

-help
    コマンドラインオプションに関する簡単なヘルプメッセージを出力する。

-display dpy
    LBX 拡張をサポートしているX サーバのアドレスを指定する。 このオプションが指定されていない場合には、ディスプレイは DISPLAY 環境 変数を使って取得される。

-motion count
    サーバとプロキシの間では、指定された数の限られたポインタ移動イベントし か伝送されない。伝送される移動イベントの最大数はこのオプションを使って 指定する。

-[terminate|reset]
    デフォルトの挙動では、最後のクライアントが終了しても lbxproxy は普通に 動作し続ける。 -terminate オプションを指定すると、最後のクライアントが終了したときに lbxproxy は 終了する。 -reset オプションを指定すると、最後のクライアントが終了したときに lbxproxy は 自身をリセットする。リセットを行うと、lbxproxy は状態をクリアしてサー バに再接続する。

-reconnect
    デフォルトの挙動では、lbxproxy はサーバへの接続が切れたときに終了する。 -reconnect オプションを指定すると、lbxproxy は終了しないでリセットだけを行い(前述 の -reset オプションを参照)、サーバへの再接続を試みる。

-I  残っている全ての引き数を無視する。

-nolbx
    LBX の最適化を無効にする。

-nocomp
    ストリーム圧縮を無効にする。

-nodelta
    delta request substitution を無効にする。

-notags
    タグの利用を無効にする。

-nogfx
    グラフィックスリクエストの再エンコードを無効にする(イメージ関係のリク エストは含まない)。

-noimage
    イメージ圧縮を無効にする。

-nosquish
    X イベントの圧縮を無効にする。

-nointernsc
    InternAtom リクエストの短絡を無効にする。

-noatomsfile
    アトム制御ファイルの読み込みを無効にする。詳しくは "アトム制御" のセク ションを参照すること。

-atomsfile file
    デフォルトの AtomControl ファイルを上書きする。詳しくは "アトム制御" のセクションを参照すること。

-nowinattr
    GetWindowAttributes/GetGeometry を1往復の通信にまとめる動作を無効にす る。

-nograbcmap
    カラーマップのグラブを無効にする。

-norgbfile
    プロキシの色名の RGB 値への解決を無効にする。

-rgbfile path
    色名の RGB 値への解決に使う別の RGB データベースを指定する。

-tagcachesize
    プロキシのタグキャッシュのサイズ(バイト数)をセットする。

-zlevel level
    Zlib の圧縮レベルをセットする(ストリーム圧縮に使用する)。
    デフォルト値は9である。
    1 = 圧縮率は最悪で、速度は最も速い
    9 = 圧縮率は最も良く、速度は最も遅い

-compstats
    プロキシがリセットされるか SIGHUP シグナルを受け取るたびに、ストリーム の圧縮状態を出力する。

-nozeropad
    X リクエスト、応答、イベントに置ける未使用のパッドバイトを0にしない。

-cheaterrors
    性能を向上させるために X プロトコルに違反することを認める。 X プロトコルにおいては、前のリクエストによって生成される応答、イベント、 エラーは、後のリクエストによって生成されるものよりも先に届くことが保証 されている。この動作は、lbxproxy がリクエストを短絡するときには本質的 な制限となる。-cheaterrors オプションを指定すると、lbxproxy がエラーに ついて X プロトコルの規約に違反することが許される。このオプションは、 ユーザ自身の責任で使用すること。

-cheatevents
    -cheatevents オプションを使うと、lbxproxy はエラーに加えて応答について も X プロトコルの規約に違反することが許される。このオプションは、ユー ザ自身の責任で使用すること。

アトム制御

lbxproxy は起動時に、設定可能なアトムのリストを「先に取り込む」操作を 行う。これにより、lbxproxy は1往復の通信でアトムのグループを取り込むす ることができ、その結果を即座にキャッシュすることができる。

実行中には、lbxproxy はヒューリスティックを用いて、サーバへのウィンド ウプロパティデータをどう送らせるかを決める。このヒューリスティックは データのサイズ、プロパティの名前、ウィンドウマネージャが同じ lbxproxy 経由で動作しているかどうかに依存する。

アトム制御は、lbxproxy のインストール時に設定される "AtomControl" ファ イルで指定されるが、コマンドラインで上書きすることできる。

ファイルは簡単なテキストファイルである。このファイルには3つの形式の行 (コメント、長さ制御、名前制御)がある。'!' で始まる行はコメント行として 扱われる。

z length

という形式の行は、プロパティデータが遅延される前の最短の長さをバイト数 で示す。

options atomname

という形式の行は、指定されたアトムを制御する。ここで options は 以下の文字の任意の組合せである: 'i' はアトムはあらかじめ取り込んでいな ければならないことを示し、'n' はこの名前を持つプロパティに対するデータ は遅延させてはならないことを示す。また、'w' はこの名前を持つプロパティ に対するデータは、ウィンドウマネージャも同じプロキシ経由で動いている場 合に限り遅延させられることを示す。