chsh -s / usr / bin / zshが機能しない


24

chshコマンドを使用してシェルを永続的にzshに変更しようとしていますが、機能していません。

zshは(aptを介して)インストールされ、bashプロンプト端末から直接起動すると正常に動作します。しかし、デフォルトでzshをターミナルにロードすることはできず、chshは奇妙なことをしています:

$ echo $SHELL
/bin/bash
$ which zsh
/usr/bin/zsh
$ chsh -s /usr/bin/zsh
Password: 
$ echo $SHELL
/bin/bash
$ grep kurtosis /etc/passwd
kurtosis:x:1000:1000:kurtosis,,,:/home/kurtosis:/usr/bin/zsh

chshは/ etc / passwdを正しく変更できましたが、$ SHELL env変数は変更していないようです。そのため、新しい端末は常にzshではなくbashで起動します。

これをトラブルシューティングするためにどこを探すべきかわかりません。 .bashrc、シェルが指定されるまで呼び出されませんが?任意の助けに感謝します。


1
システムに再ログインした後、シェルを変更できませんか?
-vine_user

この回答を確認してください。
パブロA

回答:


34

これらの変更を有効にするには、再度ログアウトする必要があります。/ etc / passwdファイルで定義されたシェルはログインシェルです:-)そのため、実際にログインする必要があります。


2
ありがとう。私はリブートせずにLinuxを変更できることに慣れていましたが、それは私には起こりませんでした。
尖度

それを有効にするには、実際に再起動する必要がありました-どういうわけか、既存のシェルセッションに再接続していたと思います。
クリス・アキンプトン

ssh接続を使用している間、終了しても、サーバーは接続とシェルを完全に閉じない場合があります。そのため、ユーザーに属するプロセス(sshおよびsh)を強制終了する必要がある場合があります。(この問題があり、解決策を見つけるのは簡単でしたが、それでもログアウトする必要があることを確認するためにこの投稿にアクセスしなければなりませんでした。)
ジョンハミルトン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.