これから示す例では、FVWM2 のような比較的安定したウィンドウ マネージャーを使って設定例を示すものとします。この章以降で習うことは どんなマネージャーにもあてはまりますが、FVWM2 を使って示すのがもっとも 易しそうですので、試してみてください。
まず最初にやることは、X 自身の初期化ファイルを自分で書くことです。
このファイルは、システム全体で使うものなら
/var/X11R6/lib/xinit/xinitrc のような場所に置かれますし、
ユーザー毎に変えようと思うなら、ホームディレクトリに .xinitrc
と
して置かれます。一般的に基本的なデフォルトのファイルがシステム全体で
使われる場所に置かれ、セキュリティのためにそれを使用することが強制される
こともありますが、たいていはユーザーがそのファイルを自分用に設定したく
なるでしょう。
まず、あなたのホームディレクトリに .xinitrc
という名前の
ファイルを作りましょう。あなたの「好きな」テキスト・エディタで、
.xinitrc
に次の例を貼り付けるか、あるいは似たようなものを
書いてください。
#!/bin/sh
# バックスペースとデリートキーが逆になっているなら、
次のようにしてください。
xmodmap -e "keysym BackSpace=Delete" -e "keysym Delete-BackSpace"
xsetroot -solid darkslateblue
# 基本的なアプリケーションを起動します。
xclock -geometry 96x96+2+2 -bg grey40 -fg black -hl white &
xload -geometry 120x96+2+147 -bg grey40 -fg white -hl darkred -update 4
&
xterm -sb -ls -geom 80x25-2+2 -title "shell" &
xterm -sb -ls -geom 80x25-2-2 &
# ウィンドウマネージャーを起動します。
/usr/X11R6/bin/fvwm2
この例から多くのことを学ぶことができます。まず、このファイルは最初の 1 行が示すようにシェル・スクリプトです。次に xsetroot コマンド で、デスクトップの背景色を明るい青色にします。ほとんど 1 日中この色を 見なければいけませんので、悪くないアイディアです。
次の 2 行は、仕事に熱中している間走らせておくのが好きなプログラムです。 オプションによって色やスクリーン上の位置などを指定しているのに気づく でしょう。これについて理解するためのヒントを後で述べます。その次の 2 行は、後で間違いなく必要になる 2 つの手軽な xterm ウィンドウを 開きます。
最後の行は非常に重要です。この行によってあなたのウィンドウマネージャー が起動します。& を後ろに置くとバックグラウンド・ プロセスになりますが、xsetroot、xmodmap、 fvwm2 の 3 つはフォアグラウンドになっていることに注意して ください。このうち、最初の 2 つはすぐ終了しますので、バックグラウンド でもフォアグラウンドでも関係ありません。これ以外のプログラムは、 バックグラウンドにしないと、終了させた時に X ウィンドウ・セッションも 同時に終了してしまいます。それは困ったことですし、意図していることでも ありません。上に示したように、fvwm2 を終了させると X も 終了します。
私たちの原始的な起動ファイルに多くのものを付け加えることが可能です。 たとえば、X を不注意に root 権限で起動した時に注意を喚起するのはよい ことです。Red Hat を使っている人がよくそうしているのは、root 権限で 動かさなければならない各種の設定プログラムが X 上で動くようになって いるからです。これを避けるには、普通のユーザーで X を起動し、su コマンドで root になり、root で起動する必要のあるプログラムを、すでに 述べた -display :0.0 オプション付きで実行します。
# root の背景色を変える。
if [ "$USER" = "root" ];
then
xsetroot -solid darkred
else xsetroot -solid darkslateblue
fi
こうすると、ユーザー名が root かどうかチェックし、もしそうなら
背景を通常の親しみやすい青ではなく、どぎつい赤にして警告して
くれます。次に示すコードも、あなたの .xinitrc
ファイルに
入れることを念頭に書いたもので、まずファイルが存在するかどうか
確認してから、ユーザー定義のリソースとシステム全体のリソースを
読み込みます。
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# デフォルトのリソースとキーマップを読み込む。
if [ -f $sysresources ]; then
xrdb -merge $sysresources; fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap; fi
if [ -f $userresources ]; then
xrdb -merge $userresources; fi
if [ -f $usermodmap ]; then
xmodmap $usermodmap; fi
スクリーン上のすべてのものを -geometry オプションで置くのは、 頭の中でそらんじてやるには難しい仕事です。特にあなたが X 上で動かす ほとんどすべてのプログラムに -geometry オプションをつけようと しているならやっかいです。このオプションで正確に場所を指定できますが、 そのためには多くのオプションを設定しなければなりません。
そこで、FVWM ウィンドウマネージャーには素敵な機能がつけられました。 デフォルト状態のままスクリーン上でウィンドウを動かすと、位置情報が 現れます。左ボタンでウィンドウを動かしてみてください。次にサイズを 変えてみましょう。そうすればサイズ情報が得られます。しかし、この方法も 少し面倒ですので、ウィンドウの詳細情報を一度に得られるといいと思う でしょう。
そこで、xwininfo というプログラムを導入しましょう。このプログラム を使うには、xterm ウィンドウでこのプログラムの名前をタイプします。 そうすると、情報の欲しいウィンドウをクリックするよう要求されます。 クリックするとそのウィンドウに関する情報がみんな表示されます。 スクリーン上に必要なウィンドウを配置した上で、このプログラムを動かし、 ウィンドウ上でクリックし、そこで得られた情報を起動ファイルに書けば、 それ以降変わらぬ正確さで同じ状態のウィンドウが得られるようになります。