Próbuję trwale zmienić moją powłokę na zsh za pomocą chsh
polecenia, ale to nie działa.
Zsh jest zainstalowany (przez apt) i działa dobrze, gdy wywołuję go bezpośrednio z terminala zachęty bash. Ale nie mogę domyślnie załadować zsh do terminali, a chsh robi coś dziwnego:
$ 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
Wygląda na to, że chsh poprawnie zmienił / etc / passwd, ale nie zmienną env zmiennej $ SHELL. W związku z tym nowe terminale zawsze zaczynają się od bash, a nie zsh.
Nie jestem pewien, gdzie szukać rozwiązania tego problemu. .bashrc
, nawet jeśli nie jest wywoływany, dopóki nie zostanie określona powłoka? Każda pomoc doceniona.
command-line
bash
zsh
Kurtosis
źródło
źródło
Odpowiedzi:
Musisz wylogować się ponownie, aby zmiany odniosły skutek. Powłoka zdefiniowana w pliku / etc / passwd jest twoją powłoką logowania :-) Więc musisz się w tym celu zalogować.
źródło