回答:
ただ使用するchsh
:
chsh -s $(which zsh)
動作しない sudo
はずです。使用sudo
すると、作業中のユーザーではなくrootのシェルが変更されます
最後に、コンピューターからログアウトし、再度ログインします。
トラブルシューティング:
dpkg -l zsh
grep $USER /etc/passwd
grep zsh /etc/shells
これはスーパーユーザーフォーラムで見つけました
/ etc / passwdを開きます。
sudo vi /etc/passwd
ユーザー名を含む行を見つけます。
username:x:1634231:100:Your Name:/home/username:/bin/bash
bashをzshに置き換えます。
username:x:1634231:100:Your Name:/home/username:/bin/zsh
ログアウトしてからログインし直して、変更を有効にします。
/etc/passwd
chsh -s `which zsh`
これを行うこともできます:
お気に入りのエディターでbashrcファイルを開きます
sudo nano ~/.bashrc
次に、ファイルの先頭の下に行を追加します
exec zsh
ターミナルをロードしてzshシェルを実行するたびにコマンドを実行します。
scp
たとえば)。
/etc/passwd
またはchsh
より良いソリューションとより信頼性の高いです。
zshが/ bin / zshでない場合、chshは機能しません。Ubuntuでは、/ usr / bin / zshです。そうするchsh -s /usr/bin/zsh
か、動作するchsh -s `which zsh`
はずです。また、デスクトップセッションに再ログインする必要があります。
/bin/zsh
と/usr/bin/zsh
奇妙なことに、「受け入れられた」答えは私が得たようには機能しませんでした
chsh: PAM: Authentication failure
この問題を解決するには、/ etc / passwdを編集し、zshの場所を指していることを確認してください。(これは「which zsh」を実行することで見つけることができます)私の場合、「webmaster」と呼ばれるユーザーは次のようになりました。
webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
ターミナルに入力
sudo chsh -s $(which zsh) root