前: Terminal Init, 上: Init File


28.7.4 個人の初期化ファイルの探し方

通常、Emacsは環境変数HOMEに基づいて.emacsを探し、 ファイル名の`~'の意味を定めます。 しかし、suを実行したあとでは、Emacsは(su実行前の) もとのユーザーの.emacsを読もうとし、 suした先のユーザーのではありません。 これは、たとえスーパーユーザーになっているとしても、 本来のユーザー独自のエディタのカスタマイズを使うべきだと考えるからです。

より正確には、Emacsはまずどのユーザーの初期化ファイルを使うかを決めます。 それにはまず環境変数LOGNAMEおよびUSERからユーザー名を取得します。 これらの環境変数がみつからなければ、Emacsは実効ユーザーIDを参照します。 ユーザー名と実ユーザーIDが一致すれば、EmacsはHOMEを利用します。 一致しない場合は、システムのユーザーデータベースから そのユーザー名に対応するホームディレクトリを探して使用します。