Ich habe ZSH auf einer meiner VMs installiert, wo ich es aus dem Quellcode kompiliert habe. Der Speicherort von ZSH ist, /usr/local/bin/zsh
wenn ich chsh -s /usr/local/bin/zsh
es ausgeben lasse chsh: /usr/local/bin/zsh is an invalid shell
. Ich habe das auch mit sudo ausprobiert. Wie kann ich das ändern?
36
chsh
" und nicht "chsh
funktioniert bei mir nicht".Antworten:
Zsh hinzufügen zu
/etc/shells
:Sie können jetzt chsh verwenden, um zsh als Shell festzulegen:
Siehe diese Dokumentation: Ändern Ihrer Login-Shell
quelle
Sie müssen hinzufügen
/usr/local/bin/zsh
zu/etc/shells
.quelle
Überprüfen Sie zunächst, ob von
zsh
als gültige Shell aufgeführt wirdWenn
zsh
nicht aufgeführt, installieren Sie es. Zum Beispiel, wenn Sie verwendenapt
Wiederholen Sie Schritt 1 und sehen Sie den Pfad von
zsh
. In meinem Fall ist beides/usr/bin/zsh
und/usr/zsh
aufgelistet. Wenn Sie, wie in @ Stéphane Chazelas im Kommentar erwähnt, die Shell von Grund auf kompilieren und installieren möchten, müssen Sie den Pfad hinzufügen/etc/shells
.Ändern Sie die Shell mit
Aus der Manpage :
Abmelden und erneut anmelden.
quelle
/etc/shells
. Wenn Sie die Shell von Hand kompilieren und installieren, müssen Sie den Pfad auch/etc/shells
von Hand zu sich selbst hinzufügen .