Ich versuche, meine Standard-Shell in Cygwin von bash auf zsh zu ändern.
- Der normale Unix-Befehl
chsh
ist unter cygwin nicht verfügbar - Die etc / passwd-Datei wird anscheinend in vorhandenen Versionen von cygwin nicht mehr verwendet.
Wie kann die Standard-Shell geändert werden?
sh.exe
umzsh.exe
in Conemu Einstellungen> startup> Aufgaben> Bash Cygwin Bash>set CHERE_INVOKING=1 & %ConEmuDrive%\CygWin\bin\sh.exe --login -i
CygWin\bin\zsh.exe
.sh.exe --login
wird Bash starten, wie ändert man das? Oder spielt es sowieso keine Rolle? Ich stelle mir vor, essh.exe --login
wird unnötig ausgeführt,sh
bevorzsh
...set CHERE_INVOKING=1 & %ConEmuDrive%\CygWin\bin\zsh.exe --login -i
hthsh.exe
. Jetzt-l
:mintty.exe -i /Cygwin-Terminal.ico /usr/bin/zsh -l -
Wenn Sie
mintty.exe
Cygwin Terminal direkt oder über das Startmenü oder den Desktop (eine Verknüpfung zu mintty.exe) ausführen, können Sie die Umgebungsvariable SHELL in Windows auf festlegen/usr/bin/zsh
.Unter Windows 7:
Der Rest sollte selbsterklärend sein.
quelle
Kopiert von meiner Antwort auf Stack Overflow :
Anstatt eine passwd-Datei zu erstellen, die Cygwin gegen 1 empfiehlt , können Sie /etc/nsswitch.conf bearbeiten . Fügen Sie die folgende Zeile hinzu oder bearbeiten Sie sie:
Die Kehrseite dieser Methode ist, dass sich diese Änderung auf alle Benutzer auswirkt, wenn Sie mehrere Benutzer haben. Die gute Seite ist, dass es ganz einfach ist. Der einzige Haken ist, dass Sie Cygwin neu starten müssen.
Wenn Sie tun Verwendung mkpasswd nach dieser Änderung, es wird Ihre neue Standard - Shell für alle Benutzer verwenden , die sich anmelden dürfen.
1 In der mkpasswd-Dokumentation heißt es:
Ich kann wirklich keine soliden Argumente im Benutzerhandbuch finden, abgesehen von einer Erwähnung, dass Sie die Dateien / etc / passwd und / etc / group neu generieren müssen, wenn sich Ihre Benutzer und Gruppen ändern, was meiner Meinung nach anständig genug ist Grund. Ich kann sagen, dass der Prozess für Neulinge etwas fehleranfällig ist.
quelle
Dies ist ein Hack: Setzen Sie dies als erste Zeile Ihres
~/.bash_profile
:quelle