web-dev-qa-db-ja.com

UbuntuのZshログインシェル

UbuntuNattyを新規インストールしました。シェルをzshに変更しました。

ログインすると、〜/ .zprofileファイルのソースとして表示されません。選択したシェルのログインシェルでgnomeが実行されませんか?いつもshですか?

/ etc/gdmを調べてみると、gdmが存在する場合は常に〜/ .profileを取得していることがわかりましたが、選択したシェルに固有の処理を行っていることを示唆するものは見つかりませんでした。

誰かが私がここで何が起こっているのか理解するのを手伝ってくれる?

4
Jeremy Cantrell

ログインシェルは、テキストモードセッション(つまり、テキストモードでパスワードを入力するとき、またはリモートでログインするとき)にのみ影響し、グラフィックモードセッション(つまり、GUIでパスワードを入力するとき)には影響しません。

ログイン時の定義用に単一のファイルを作成するには、すべてを~/.profileに入れ、それを~/.zprofileから取得します。簡単な方法は、~/.zprofileに1行を含めることです。

emulate sh -c '~/.profile'

Gdmは、セッションセットアップの一部として~/.profileをロードするように調整するため、完全にカバーされます。

Zshが〜/ .profileにヒットしない も参照してください。

GDM(バージョン2、3についてはよくわかりません)は、/etc/profile~/.profile/etc/xprofile、および~/.xprofileのみを読み取ります。すべてがshで実行されます。

考えられる解決策は、~/.xprofileを使用し、複数のファイルに重複したくない場合は~/.zprofileからソースを取得することです。 ~/.xprofileshから供給されているため、zsh構文やコマンドを使用できないことに注意してください。

1
Arrowmaster