この章では X Window 上で動作しているクライアントとシステムにかかわる 基礎的な手続きについて親しんでいきたいと思います。 X はそれ自体が直感的なインターフェースではないので、ウィンドウマネージャーが なければ、コマンドラインから 起動されるプログラムのための ディスプレイとして最もよく使用されています。
最も共通ともいえる X の使用例は、単純に同時に複数の xterm のウィンドウ を開くことです。コンピューターの描画能力を向上させているわけではあり ませんが、まずは素晴らしい特徴であるといえるでしょう。
コマンドラインの柔軟さと簡便さはとても素晴らしく、実際、ウィンドウ マネージャーが必要とは思わないかもしれません。その素晴らしさ故に、とにかく 速く操作したいと思うでしょう。しかし実際は、コマンドラインかマウスの どちらかだけで、うまくやっていけるのです。 少し動かしてみれば、クライアントとウィンドウマネージャーの間に存在する 厳密な相違点について驚くことでしょう。しかしながら、そういったことを持て 余しそうなら、困ったときには Ctrl-Alt-Backspace というキーの組み合わせ で X Window から脱出できることを覚えておいてください。
ほとんどの X プログラムはコマンドラインオプション用に同一の基本的な 名称を使おうとします。MIT X Toolkit Intrinsics を使用して書かれた全ての アプリケーションは、自動的に以下のオプションを受け付けます:
このオプションは使用する X サーバーを指定します。詳細はディスプレイ 名の章(訳者注:4.2章)を参照のこと。
幅x高さ+水平オフセット+垂直オフセット、もしくは +水平オフセット-垂直オフセット、のような形式で書かれるウィンドゥ の初期サイズと場所のことです。マイナスの水平もしくは垂直オフセットを 入力した場合には、ウィンドウがそれぞれ画面の右もしくは下から遡って 計算されて配置されることに注意してください。
ウィンドウの中でテキストを表示するために使用するフォント。
ウィンドウの背景に使用する色。
ウィンドウの前景に使用する色。
アプリケーションのためのリソースを見つけられない状況下において その名前を特定することに役立ちます。これは同一アプリケーションを 呼び出した際に両者を見分けるために役立ちます。例えば 2つの xterm は、 リソースデータベースの中でリソース名に基づいた異なるリソースを 受け継ぐために、異なる名前をつけられるのです。
これはディスプレイ上のウィンドウ用に使われるタイトルです。 一般的には、ウィンドウの一番上に説明的なタイトルをつけるために ウィンドウマネージャーによって使用されます。-name オプションと混同 しないようにしてください。
ウィンドウをアイコンとして起動します。
このオプションは既に設定されているであろう、あらゆる初期設定をも
上書きしてしまうようなリソース名と値を特定します。はっきりとした
コマンドラインオプションを持たない X リソースを設定する際にも
有用です。例えば、コマンドライン
xterm -xrm "xterm*background: blue"
は機能上 xterm -bg blue
のように入力することと同一です。
全ての X サーバーは以下の形式でディスプレイ名を保持しています。
ホスト名:ディスプレイ番号.スクリーン番号
ホスト名はディスプレイが実際に物理的に接続されているマシンの名前を 特定しています。ホスト名は省略可能であり、もし省略されるなら、同じマシン上の サーバーが選ばれるでしょう。実際、もしもマシン上で X を使っているのが あなた1人だけなら、ディスプレイの特定の必要はないと思うことでしょう。 ディスプレイ番号はおそらくゼロとされるでしょう。これは X サーバーが 複数のキーボードとモニターのユニット、例えば X ターミナルのネットワーク を制御している際に使われます。スクリーン番号は、セットアップされた 複数のモニターの中からどのモニターが使われるべきかを特定します。この 特定に基づけば、-display :0.0 というオプションを用いた際、ローカルマシン上 に xterm のウィンドウが開くでしょう。これはオプションからホスト名を 省略したために、現在使用中のマシンが引き受けたということです。
Linux システムにおいて、DISPLAY 変数は自分自身のディスプレイ名を :0.0であるとして保持します。これは通常 xterm もしくは X ウィンドウを開始するスクリプトのうちのどれか一つによって設定されます。 がしかし、それを自分で設定することもできますし、これまでにお話ししてきた ように、アプリケーションを呼び出す際に -display のコマンドライン オプションを使うこともできます。
もしも xterm あるいは rxvt ウィンドウを開いていて、
su
コマンドを経由してスーパーユーザーとしての作業をしているので
あれば、X アプリケーションを起動させようとする際に、それを起動する
ディスプレイが 存在しないことが気づくでしょう。それは変だと思うかもしれ
ません。
だって、あなたは自分のディスプレイ上で作業をしているわけですから。
しかしこのことを動作させている仕掛けがプログラムへ -display :0.0
のようなコマンドラインのオプションを引き渡すのです。そしてそれは
正常に動作することでしょう。
ターミナルエミュレーターの選択は、ウィンドウマネージャーとほとんど同様 に あなたの X 体験に影響する問題です。ですから、最良のオプションについ て少々のお話をしてみましょう。 xterm のようなターミナルエミュ レーターは、すでにお話してきたように X 上で Linux の単純なコンソール をエミュレートさせるプログラムです。選ぶにあたって、このプログラムには 多くを頼ることになります。だからこそ最初は、賢明な選択が求められます。
もしもお持ちのビデオカードが低速のものなら、考慮すべき第一のことは rxvt に移行することでしょう。xterm を使うことは出発 点としてはよい選択でしょう。主な理由としては、全ての X ディストリビュー ションにおいて標準になっているからです。しかし xterm は常に最 善の選択とはいえません。xterm は伝統的なコードを大量に含んで いて、単なるターミナルエミュレーターにしてはかなり肥大化しています。こ れは部分的には、ただのプレーンテキスト用のターミナルエミュレーターでは なく、まず使うことはないと思われるグラフィックモードをもエミュレートし ている、という事実によるものです。このことが原因で rxvt に移 行したいと思うかもしれませんし、xterm が極度に遅いことが原因 になるかもしれません。なぜ xterm がとても遅いのかについての確 信はありませんが、お持ちのビデオカードが遅くて、この文章が意味すること を理解してくださるなら、xterm の使用をやめたときに、その違い に驚愕することでしょう。
rxvt のその他の利点としては、背景に画像を貼りつけたり、より優れ
たスクロールバーといったものを含んでいます。-pixmap
オプショ
ンをコマンドラインで指定するなら(使用するバージョンでサポートするよう
にコンパイルされている必要があるけどね!)、背景にどんな .xpm 形式の画
像でも使うことができるでしょう。非常に素晴らしい特徴としては、出力が遅
くなることは驚くほどにはありませんし、xterm のウィンドウよりも
高速に再描画してくれます。考えてみれば、最近まで rxvt を周り
では見かけることはありませんでしたけど、 metalab でも見かけられるよう
になっています。