Zainstalowałem ZSH na mojej maszynie wirtualnej, gdzie skompilowałem go ze źródła. Lokalizacja ZSH jest /usr/local/bin/zsh
wtedy, gdy uruchamiam chsh -s /usr/local/bin/zsh
to wyjście chsh: /usr/local/bin/zsh is an invalid shell
. Próbowałem tego również z sudo. Jak mogę to zmienić?
36
chsh
”, a nie „chsh
nie działa dla mnie”.Odpowiedzi:
Dodaj zsh do
/etc/shells
:Możesz teraz użyć chsh, aby ustawić zsh jako powłokę:
Zobacz tę dokumentację: Zmiana powłoki logowania
źródło
Musisz dodać
/usr/local/bin/zsh
do/etc/shells
.źródło
Najpierw sprawdź, czy
zsh
jest wymieniony jako poprawna powłokaJeśli
zsh
nie ma go na liście, zainstaluj go. Na przykład, jeśli używaszapt
Wykonaj krok 1 ponownie i zobacz ścieżkę
zsh
. W moim przypadku, zarówno/usr/bin/zsh
i/usr/zsh
znajduje się na liście. Jak wspomniano w komentarzu @ Stéphane Chazelas, jeśli chcesz skompilować i zainstalować powłokę od zera, dodaj ścieżkę do/etc/shells
.Zmień powłokę za pomocą
Ze strony podręcznika :
Wyloguj się i zaloguj ponownie.
źródło
/etc/shells
. Chodzi o to, że jeśli ręcznie skompilujesz i zainstalujesz powłokę, musisz ręcznie dodać ścieżkę do/etc/shells
siebie.