it-swarm.com.de

Wie mache ich ZSH zur Standard-Shell?

Ich versuche, ZSH als Standard-Shell festzulegen, aber es wird immer wieder auf bash zurückgesetzt.

Ich habe diesen Code ausprobiert:

Sudo chsh -s $(which zsh)

Ich habe auch versucht:

Sudo chsh -s /bin/zsh 

Habe diese Befehle auch ohne Sudo ausprobiert. Irgendwelche Ideen, was ich sonst noch tun muss. Wenn Sie ZSH in bash ausführen, wird es geladen und funktioniert einwandfrei, aber ich möchte es als Standard-Shell festlegen.

119
Tom

Verwenden Sie einfach chsh :

_chsh -s $(which zsh)
_

ohne Sudo sollte funktionieren. Wenn Sie Sudo verwenden, wird die Shell nicht für Ihren aktiven Benutzer, sondern für root geändert.

Zum Schluss melden Sie sich mit von Ihrem Computer ab und mit wieder an.

Fehlerbehebung:

211
Florian Diesch

Ich fand dies auf Superuser Forum

Öffne/etc/passwd:

Sudo vi /etc/passwd

Suchen Sie die Zeile mit Ihrem Benutzernamen:

username:x:1634231:100:Your Name:/home/username:/bin/bash

und ersetze bash mit zsh:

username:x:1634231:100:Your Name:/home/username:/bin/zsh

Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden.

37

Sie können dies auch tun:

öffne deine bashrc Datei in deinem Lieblingseditor

Sudo nano ~/.bashrc

fügen Sie dann die Zeile oben in die Datei ein

exec zsh

Der Befehl wird jedes Mal ausgeführt, wenn Sie das Terminal laden und Ihre zsh-Shell ausführen.

5
Saddam H

Wenn zsh nicht/bin/zsh ist, funktioniert chsh nicht. Unter Ubuntu ist es/usr/bin/zsh. So sollte es funktionieren, chsh -s /usr/bin/zsh oder chsh -s `which zsh` zu tun. Sie müssen sich auch erneut bei der Desktopsitzung anmelden.

3
jbp

Ich hatte ein Problem mit den Berechtigungen zum Ändern der Shell unter dem aktuellen Benutzer, aber das nächste Mal hilft mir (Sie sollten den richtigen 'zsh'-Ordner für Ihren Computer festlegen):

Sudo chsh -s /bin/zsh <myUserName>
1
Rib47

Geben Sie das Terminal ein

Sudo chsh -s $(which zsh) root
0

Seltsamerweise hat die "akzeptierte" Antwort bei mir nicht funktioniert

chsh: PAM: Authentication failure

Um dieses Problem zu beheben, bearbeiten Sie Ihre/etc/passwd und vergewissern Sie sich, dass sie auf den zsh-Speicherort verweist. (Sie finden dies, indem Sie "which zsh" ausführen.) In meinem Fall sah der Benutzer "webmaster" folgendermaßen aus:

webmaster:x:1001:1001:webmaster,,,:/var/www/webmaster:/usr/bin/zsh
0
John Crawford