xinit コマンド

目的

X Window System を初期化します。

構文

xinit [ [ Client Options ] [ - - [ Server ] [ Display Options ]

説明

xinit コマンドは、/etc/init から、あるいは複数のウィンドウ・システムを使用する環境で、X を直接始動できないようなシステム上の最初のクライアント・プログラム、および AIXwindows サーバーを始動するときに使用されます。 最初のクライアントが終了すると、xinit コマンドは X サーバーを停止し終了します。

コマンド・ラインに特定のクライアント・プログラムが指定されていない場合、xinit コマンドはクライアント・プログラムを始動するためのファイルを探します。 xinit コマンドは、$XINITRC 環境変数を探します。 ファイルが見つからなければ、このコマンドは次に $HOME/.xinitrc ファイルを探します。それでもファイルが見つからなければ、このコマンドは下記のステップを実行します。

  1. xinit コマンドは、次に /usr/lib/X11/$LANG/xinitrc を探します。
  2. 次に、/usr/lpp/X11/defaults/$LANG/xinitrc を探します。
  3. 最後に、/usr/lpp/X11/defaults/xinitrc を探します。

上記のファイルがすべて見つからなかった場合、xinit は デフォルトで次のコマンドを使用します。

aixterm ¥-geometry +1+1 ¥-n login ¥-display :0

コマンド・ラインに特定のサーバー・プログラムが指定されていない場合、xinit コマンドは下記のステップを実行します。

  1. xinit コマンドは、 サーバーを始動するためのシェル・スクリプトとして実行するためのファイルを探します。 xinit コマンドはまず、$XSERVERRC 環境変数の中のファイルを探します。
  2. そのファイルがそこになければ、$HOME/.xserverrc ファイルを探します。
  3. $HOME/.xserverrc ファイルが見つからなければ、 次に、/usr/lpp/X11/defaults/xserverrc ファイルを探します。
  4. 最後に、上記のファイルがすべて見つからなければ、xinit コマンドは、X コマンドを 実行して X サーバーを始動し、デフォルトで次のコマンドを使用します。
    X :0

これは現在の検索パスに X という名前のプログラムがあることを前提としている点に注意してください。 しかし、サーバーは通常 Xdisplaytype と命名されます。ここで、displaytype とはこのサーバーによって使用可能になるグラフィック・ディスプレイのタイプを指します。 したがって、サイトのシステム管理者は、コンピューターに適切なサーバーのタイプをリンクするか、あるいは、適切なサーバーで xinit コマンドを実行させるシェル・スクリプトを作成しなければなりません。

注: 使用可能なポインター・デバイス (マウスやタブレット) を使わないで AIXwindows を始動しようとしても、AIXwindows はオープンしません。デバイスを接続していても定義していなければ、システムはそのデバイスを認識しません。その逆も同様です。

重要な点は、.xinitrc で実行するプログラムは、すぐに終了しないのであればバックグラウンドで実行し、他のプログラムを始動するのを妨げないようにしなければなりません。 しかし、寿命の長い最後に始動されたプログラム (通常はウィンドウ・マネージャーあるいは端末エミュレーター) はフォアグラウンドに残して、(ユーザーの終了および xinit の終了を指示する) スクリプトを終了させないようにします。

代替クライアントおよびサーバーはコマンド・ラインで指定することができます。 指定したいクライアント・プログラムおよびその引数は、xinit に対して最初のコマンド・ラインの引数として設定されなければなりません。 特定のサーバー・コマンド・ラインを指定するには、指定したいサーバー・コマンドが 続く (クライアントおよび引数の後の) xinit コマンド・ラインに — (ハイフン 2 つ) を付けます。

クライアント・プログラム名およびサーバー・プログラム名は、 / (スラッシュ) あるいは . (ピリオド) で始めなければなりません。 そうでなければ、それらの名前はそれぞれの始動行に追加される引数として処理されます。 これにより、すべてのコマンド・ラインを再入力しないで引数 (例えば、フォアグラウンド・カラーおよびバックグラウンド・カラー) を追加できます。

明確なサーバー名が指定されず 、— (ハイフン 2 つ) の後に続く最初の引数が : (コロン) の後に続く数字である場合には、xinit は、ゼロの代わりにその数字をディスプレイ番号として使用します。残りのすべての引数はサーバーのコマンド・ラインに追加されます。

下記の環境変数が xinit コマンドで使用されます。

項目 説明
DISPLAY この変数は、クライアントが接続するディスプレイの名前に設定します。
XINITRC この変数は、初期ウィンドウを始動するシェル・コマンドを含む init ファイルを指定します。 デフォルトではホーム・ディレクトリー内の .xinitrc が使用されます。
オプション 指定したクライアントで使用できるオプションのリストです。
Client ユーザーが作業するクライアントを指定します。例えば、xterm や aixterm です。指定するクライアントは、. (ドット) か / (スラッシュ) で始まらなければなりません。
Server 有効な X サーバーを指定します。指定するサーバーは、. (ドット) か / (スラッシュ) で始まらなければなりません。

  1. X という名前のサーバーを始動し、ユーザーの xinitrc プログラムがあれば それを実行するか、または aixterm コマンドを始動するには、次のように入力します。
    
    xinit
  2. 代替ディスプレイ上で特定のタイプのサーバーを始動するには、下記のように入力します。
    xinit -- /usr/bin/X11/X qdss:1
  3. X という名前のサーバーを始動し、デフォルトの xinitrc コマンドまたは aixterm コマンドに引数を指定するには、下記のように入力します。
    
    xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
  4. コマンド /Xsun -l -c を使用してサーバーを始動し、デフォルトの xinitrc コマンドまたは aixterm コマンドに引数 -e widgets を追加するには、下記のように入力します。
    xinit -e widgets -- ./Xsun -l -c
  5. 引数 -a 2 -t 5 でディスプレイ 1 の X という名前のサーバーを始動し、ローカル・ワークステーションに表示を戻すコマンド cpupig を実行するマシン fasthost のリモート・シェルを始動するには、下記のように入力します。
    xinit /usr/ucb/rsh fasthost cpupig -display ws:1 -- :1 -a 2 -t 5
  6. 以下のサンプルの .xinitrc スクリプトは、クロックと複数の端末を始動させ、ウィンドウ・マネージャーを最終アプリケーションとして実行させておきます。ウィンドウ・マネージャーが適正に構成されているという前提で、ユーザーは「Exit (終了)」メニュー項目を選んで AIXwindows セッションを終了します。
    
    xrdb -load $HOME/.Xresources
    xsetroot -solid gray &
    xclock -g 50x50-0+0 -bw 0 &
    xload -g 50x50-50+0 -bw 0 &
    xterm -g 80x24+0+0 &
    xterm -g 80x24+0-0 &
    mwm
  7. 共通の始動環境を作成したいサイトが、サイト共通の始動ファイルを参照するデフォルトの .xinitrc スクリプトを簡単に作成できる例を下記に示します。
    #!/bin/sh . /usr/local/lib/site.xinitrc
  8. もう 1 つの方法は、特定のシェル・スクリプトで xinit コマンドを始動するスクリプトを記述することです。 このようなスクリプトは、通常 x11xstart、あるいは startx と命名され、初心者に簡単なインターフェースを提供する便利なものです。
    #!/bin/sh xinit /usr/local/lib/site.xinitrc -- /usr/bin/X11/X bc

ファイル

項目 説明
.xinitrc デフォルトのクライアント・スクリプト・ファイルが入っています。
aixterm .xinitrc がない場合にクライアントが実行するコマンドが入っています。
.xserverrc デフォルトのサーバー・スクリプトが入っています。
X .xserverrc がない場合にサーバーが実行するコマンドが入っています。