rootとしてログインすると、zshをデフォルトのシェルに設定できますか?これを行い、chsh -s /bin/zsh
rootパスワードを使用して認証しましたが失敗しました。
答え1
1つの秘密は、zshを使用するように対話型ルートシェルを設定し、/ bin / shを使用し続けるように非対話型シェルを残すことです。
これにより、他の応答で説明されている「予想」問題が引き続き発生する可能性がありますが、少なくとも非対話型プロセスは中断されません。
/root/.bashrc の末尾に以下を追加します。
if [ ! -z "$PS1" ]; then
exec /bin/zsh $*
fi
答え2
通常、ルートシェルを/bin/shから変更するのは良い考えではありません。たとえば、UIDがまだゼロのzrootなどの他のアカウントを追加することをお勧めしますが、zshをシェルとして使用することをお勧めします。ただし、質問に答えるためにrootとしてログインしている場合は、を使用する必要はありませんsudo
。
chsh -s /bin/zsh root
root
chshのリクエストに応じてパスワードを入力してください。 「ルート」を明示的に指定することをお勧めします。
「fred」でログインした場合
sudo -i
パスワードを使用してパスワード要求に応答しますfred's
。これにより、ルートシェルが提供されます。最初にrootとしてログインしたように進みます。
/bin/zsh が /etc/shells にリストされていることを確認してください。
答え3
実行するためのroot権限を忘れた可能性があります。次のコマンドを実行します。
$ sudo chsh -s /bin/zsh
答え4
この目的のために、通常のエディタでpasswdファイルを編集することはお勧めできません。
vipw
シェルをzshに変更しました。正直なところ、ルートシェルを変更したい理由を理解していません。ルートアカウントは管理上の問題にのみ使用する必要があり、権限のないユーザーが一般的なタスクを使用するにはルートアカウントを使用する必要があります。その後、別のttyにログインし、終了(非常に重要)して現在のttyとの接続を切断します。機能すると、新しいシェルを見ることができます。 zshをすぐに使用したい場合は、zshと入力してください。結論として
I want to use my new shell now = type zsh
I want to use my new shell + change = chsh -s or vipw
ps = zshがこのパス(/bin /sbin..)にインストールされておらず、シングルユーザーログインにrootを使用する必要がある場合、シェルが見つからないため機能しません。これは /Mount from でも発生する可能性があります。 root/を他のlvmまたはusr分離システムのパーティションとして