Ich versuche, die Anmeldeshell von Mac OS X bash
auf zu ändern zsh
. Ich sehe, dass es in Mac OS X Leopard möglich ist , aber für OS X Lion kann ich keinen Weg finden. Ich hoffe wirklich, dass es möglich ist, die Login-Shell von bash auf etwas anderes zu ändern. Ich bin mir nicht ganz sicher, wo ich suchen soll.
90
if [ -x /usr/local/bin/zsh ] ; then exec /usr/local/bin/zsh fi
. Hinweis: Wenn Sie Shell-Startskripte ändern, stellen Sie sicher, dass eine Shell weiterhin ausgeführt wird und starten Sie eine neue in einem anderen Fenster.Antworten:
Sie können die Benutzer-Shell mit dem folgenden Befehl ändern:
Hinweis: Um es für eine nicht standardmäßige Shell zu ändern, stellen Sie sicher, dass der Pfad zur
/etc/shells
Datei hinzugefügt wurde .quelle
/usr/local/bin/zsh
. Leider erlaubt chsh dies nichtchsh: /usr/local/bin/zsh: non-standard shell
. Die Antwort von Daniel Beck ist in diesem Fall eine geeignete Lösung./usr/local/bin/zsh
,/etc/shells
und dies sollte das Problem lösen.==> Caveats To use this build of Zsh as your login shell, add it to /etc/shells.
/etc/shells
gehört root (der Superuser) und kann nur von ihm beschrieben werden. Sie könnten zum Beispiel verwendensudo vi /etc/shells
zu verwendensudo
( s uper u ser tun ) , um das auszuführenvi
Editor zu bearbeiten/etc/shells
. Ich habe gerade auf meinem System getestet und bestätigt, dass es NICHT durch den Systemintegritätsschutz geschützt ist. Sie sollten es also als Root bearbeiten können, ohne durch die Rahmen springen zu müssen, um SIP zu deaktivieren.Witzigerweise die gleiche Methode , die Sie in Ihrer Frage verknüpfen immer noch funktioniert in OS X Lion von Sierra (10.12). Der einzige Unterschied: Der Einstellungsbereich heißt " Benutzer und Gruppen" anstelle von " Konten" .
quelle
Oder:
quelle
brew install zsh
.sudo dscl . change /users/$USER UserShell /bin/bash $(which zsh)
Wenn sich jemand wundert, dass das gleiche Problem auf macOS Sierra auftritt und der folgende Befehl mir erlaubt, die Shell ohne Probleme zu ändern:
quelle