[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:16048] Re: 環境変数の設定
> 私もxdmを使っていますし、たしかにbashを意図的にログインシェ
> ルでない対話シェルとして起動するというのはごく稀ですもんね。本
> 題からははずれますが、いつまでも同じ知識は通用せんといういい教
> 訓になりました。
逆でしょう。ログインシェルこそ、あまり使う必要がないのでは?
誤解があるかもしれないので、補足しておきます。
Xがない時代は、永井さんがおっしゃるように、
環境変数 -> ログインシェル用初期化ファイルで設定
aliasなど -> 一般対話シェル用初期化ファイルで設定
でよかったわけです。Xを使う場合でも、xinitで起動する分には、
~/.xinitrcがログインシェル用初期化ファイルを読まなくても(明
示的に読まなればもちろん読まない)、ログインシェルの環境変数
が受け継がれるのであまり問題はありません。
だけど、xdmを使う場合、ログインシェルを経由していないので、
~/.xsessionが実行されているときには環境変数が設定されていま
せん。~/.xsessionの中から起動されるxtermなどは、それこそ-ls
をつけておけば問題ありませんが、その他のクライアントでは困る
こともでてきます。Emacsとか。だから、~/.xsessionの最初の方で、
環境変数を設定しているファイルを明示的に読む必要があります。
ところが、ログインシェル用初期化ファイルは、ユーザと(readな
どを使って)真に対話することがあり、~/.xsessionに読み込むのは、
一般には問題があります。一方、一般対話シェル用初期化ファイル
は、普通はsourceしても問題がないように書かれています。という
ことで、環境変数も一般対話シェル用初期化ファイルの方に移って
きたのだと思います。
ちなみに、zshの場合、環境変数だけを設定する~/.zshenvというファ
イルがあり、このあたりがすっきりとしています。
--
川村 尚生