XINIT(1)

名前
xinit - X ウィンドウシステムの初期化コマンド

書式
xinit [ [ client ] options ] [ -- [ server ] [ display ] options ]

説明
xinit は X ウィンドウシステムのサーバと最初のクライアントを起動 する。このプログラムは /etc/init から直接 X を起動できないシステ ムや、複数のウィンドウシステムを利用する環境で用いられる。 最初に起動したクライアントが終了したとき、xinit は X サーバを終 了させ、自分自身も終了する。

コマンド行でクライアントを指定していない場合、xinit はユーザ のホームディレクトリにある .xinitrc ファイルを参照し、このファイ ルをシェルスクリプトとして実行してクライアントプログラムを起動する。 このファイルも存在しない場合、xinit はデフォルトの動作として次の コマンドを実行する:

    xterm -geometry +1+1 -n login -display :0

コマンド行でサーバプログラムを指定していない場合、xinit はユー ザのホームディレクトリにある .xserverrc ファイルを参照し、このファ イルをシェルスクリプトとして実行してサーバを起動する。 このファイルも存在しない場合、xinit はデフォルトの動作として次の コマンドを実行する:

    X :0

この動作は現在のコマンド検索パスに X というプログラムがあること を仮定している点に注意すること。しかし、サーバの名前は通常 Xdisplaytype になっている(displaytype はこのサーバが動かす グラフィックスディスプレイのタイプ)。したがって、サイト管理者はこのマ シンにおける適切なタイプのサーバへのリンクを作るか、シェルスクリプトを 用意して、そこで適切なサーバ指定の下に xinit を実行するようにし なければならない。

 .xserverrc を使う際には、実際に使う X サーバは必ず ``exec'' を使っ て実行すること。 これを行わないと、X サーバの起動や終了が遅くなることがある。 ``exec'' の使用例を以下に示す:

    exec Xdisplaytype

気を付けなければならないのは、.xinitrc から起動するプログラムは (すぐに終了するものでない限りは)バックグラウンドで実行しなければならな いということである。さもなくば、他のプログラムを起動することができなく なってしまう。 しかし、長期間動作するプログラムのうち最後に記述するもの(普通はウィン ドウマネージャや端末エミュレータ)だけはフォアグラウンドで実行しなけれ ばならない。これはスクリプトが終了しないようにするためである(つまり、 このスクリプトが終了すると xinit も終了してしまう)。

コマンド行で別のクライアントやサーバを指定することもできる。実行さ せるクライアントプログラムとその引き数は、xinit の最初のコマンド ライン引き数として指定する。特定のサーバのコマンド行を指定するには、 xinit のコマンド行(クライアントとその引き数の後)にダッシュ2 個(--)を追加し、その後にサーバのコマンドを記述する。

クライアントとサーバのプログラム名は、スラッシュ(/)またはピリオド(.)で 始めなければならない。さもないと、デフォルトのクライアントやサーバの起 動コマンドへの追加的な引き数として扱われる。逆にこれを利用すれば、コマ ンドライン全体を入力することなく引き数(フォアグラウンドカラーやバック グラウンドカラー等)を追加することができる。

サーバ名が明示的に指定されておらず、ダッシュ2個(--)に続く最初の引 き数が「:数字」の形になっている場合、xinit はこの数字をゼロの代 わりにディスプレイ番号として使用する。残りの引き数は全てサーバのコマン ドラインに追加される。

例
xinit を使う際のコマンド行引き数の指定の仕方の例を以下に示す。

xinit
    名前が X であるサーバを起動する。そして、ユーザのホームディレク トリに .xinitrc があればこれを起動し、なければ xterm を起 動する。

xinit -- /usr/X11R6/bin/Xqdss  :1
    これは、他のディスプレイ上で特定のタイプのサーバを指定する方法である。

xinit -geometry =80x65+10+10 -fn 8x13 -j -fg white -bg navy
    名前が X であるサーバを起動し、デフォルトの xterm コマンド に指定された引き数を追加する。この指定があると .xinitrc は無視 される。

xinit -e widgets -- ./Xsun -l -c
    コマンド .Xsun -l -c を使って X サーバを起動し、デフォルト の xterm に引き数 -e widgets を追加する。

xinit /usr/ucb/rsh fasthost cpupig -display ws:1 --  :1 -a 2 -t 5
    ディスプレイ1 上で名前が X, 引き数が -a 2 -t 5 である X サーバを起動し、マシンfasthost上でリモートシェルを起動する。この リモートシェルはコマンド cpupig を実行し、このコマンドの画面はロー カルのワークステーション上に表示される。

以下に .xinitrc の例を示す。これは時計、端末エミュレータを起動 し、「最後の」アプリケーションとしてウィンドウマネージャを動作させたま まにする。ウィンドウマネージャの設定が正しければ、ウィンドウマネージャ のメニューで終了を選ぶと X を終了させることができる。

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 &
twm

X を起動するためのサイト共通の環境を用意する場合は、 デフォルトの .xinitrc を作って、それらがサイト共通の起動ファイル を参照するようにするだけで良い。これは以下のようなものである:

#!/bin/sh
. /usr/local/lib/site.xinitrc

別の方法としては、適当なスクリプトを書いて、そこから xinit を適 切なシェルスクリプトと共に起動するようにすればよい。このようなスクリプ トには通常 x11, xstart, startx といった名前が付けら れ、初心者ユーザに簡単なインタフェースを提供するための便利な方法として 使われる。

#!/bin/sh
xinit /usr/local/lib/site.xinitrc -- /usr/X11R6/bin/X bc

環境変数

DISPLAY
    この環境変数には、クライアントが接続するディスプレイの名前がセットされ る。

XINITRC
    この環境変数には、初期状態でのウィンドウを起動するシェルのコマンドを記 述した初期化ファイルを指定する。デフォルトでは、ホームディレクトリの .xinitrc が使用される。

ファイル

.xinitrc
    デフォルトのクライアントスクリプト。

xterm
     .xinitrc が存在しないときに実行されるクライアント。

.xserverrc
    デフォルトのサーバスクリプト。

X
     .xserverrc が存在しないときに実行されるサーバ。

関連項目
X(7), startx(1), Xserver(1), xterm(1)

著者
Bob Scheifler, MIT Laboratory for Computer Science