[Q]
X の個人用環境設定ファイルはどれを使うのが良いのでしょうか?
[A]
結論から言いますと、
LinuxMLD をインストールしたてで、
今後 X に関する設定の変更は参考書やまわりの人にたよらず、
自分の勘と LinuxMLD のメーリングリストの力だけで行おうという方には
LinuxMLD のマニュアルにあるように ~/.Xclients を使うのが良いと思います。
他のディストリビューション (例えば Debian/GNU Linux) や他の OS
(例えば FreeBSD) をもとに解説してある参考書などを参考にしたりすることが多い方で、xdm を使う方は ~/.xsession を、
startx (あるいは xinit) を使う方は ~/.xinitrc を使うのが良いと思います。
# ちなみに xdm とは LinuxMLD を起動した時にでる、山の絵とその中心に Login と
# Password を入力するやつがでているやつです。
~/.Xclients と ~/.xsession には実行許可が必要なので、
はじめて作成した時には忘れずに
% chmod +x ~/.Xclients
(あるいは % chmod +x ~/.xsession)
を実行しましょう。
~/.xsession のサンプルと簡単な解説は
ここ
にあります。
~/.Xclients や ~/.xinitrc も同じように書けば良いので参考になるのではないかと思います。
[Appendix]
多くの場合、
他のディストリビューションや FreeBSD など他の OS では、
xdm を使用している場合の設定ファイルは ~/.xsession,
startx か xinit で X を起動して使っている場合には ~/.xinitrc
が X 用の設定ファイルとして使われているように思います。
# 例えば FreeBSD では ~/.Xclients は使われていません。
これに対して、
LinuxMLD では ~/.Xclients を使うように勧めているようです。
理由は簡単で、LinuxMLD では xdm を使っている場合でも startx や xinit
で X を起動している場合のどちらの場合であっても、
条件付きではありますが ~/.Xclients を読むような仕様になっているためです。
条件についてですが、 /etc/X11/xdm/Xsession という、
xdm を使用して login する際に実行されるスクリプトをみて頂けば分かると思いますが、
ホームディレクトリに実行許可のある .xsession が存在する場合には ~/.Xclients は読み込まれません。
一応解説しますと、/etc/X11/xdm/Xsession の最後の部分では、
startup=$HOME/.xsession
resources=$HOME/.Xresources
if [ -x "$startup" ]; then
exec "$startup"
elif [ -x "$HOME/.Xclients" ]; then
exec "$HOME/.Xclients"
elif [ -x /etc/X11/xinit/Xclients ]; then
exec /etc/X11/xinit/Xclients
else
if [ -f "$resources" ]; then
xrdb -load "$resources"
fi
exec xsm
fi
となっております。
これは bash を使ったシェルスクリプトで、
はじめにホームディレクトリに実行許可のある .xsession というファイルがあるかを調べ、
あった場合には ~/.xsession を実行します。
~/.xsession がない場合や実行許可がない場合には、
次にユーザのホームディレクトリに実行許可のある .Xclients というファイルがあるかどうかを調べ、
あった場合には ~/.Xclients を実行します。
で、~/.Xclients もない場合や実行許可がない場合にはデフォルトの設定ファイル
/etc/X11/xinit/Xclients を実行する、
というような設定になっています。
したがって、
~/.Xclients の設定が反映されていないときには、
- ~/.xsession が存在しているかどうか
- ~/.Xclients に実行許可がでているかどうか
などがチェックポイントになります。
カスタマイズに関してですが、
デフォルトの /etc/X11/xinit/Xclients をコピーした場合、
シェルスクリプトになれていないと最後の方は結構難解で、
どこをどう書き換えたら良いのか分からないかもしれません。
多分、
#!/bin/bash
########################################################################
# -*- sh -*- #
# #
# ~/.Xclients: used by startx (xinit) to start up a window manager and #
# any other clients you always want to start an X session with. #
# #
# feel free to edit this file to suit your needs. #
########################################################################
# Japanese environment
export LANG=ja
#kinput2 &
kterm &
以下の部分は window manager にかんする設定だったと思いますので、
この部分に追加したりすると良いと思います。
例えば kinput2 を起動しておきたい時には上記の # を消せば良いですし、
afterstep を起動したければ kterm の下(あるいは kterm を消して)
exec afterstep
の 1 行を追加するとうまくいくと思いますのでお試しあれ。
# あと何かあったかな?
戻る