Wie ändere ich die Standard-Shell in Cygwin?

Wie ändere ich die Standard-Shell in Cygwin?

Ich versuche, meine Standard-Shell in Cygwin von Bash auf Zsh zu ändern.

  1. Der normale Unix-Befehl chshist unter Cygwin nicht verfügbar
  2. Die Datei etc/passwd wird in vorhandenen Versionen von Cygwin anscheinend nicht mehr verwendet.

Wie kann die Standard-Shell sonst noch geändert werden?

Antwort1

Die Antwort hängt davon ab, wie Sie Cygwin starten.

Wenn Sie Cygwin mitCygwin.bat, ändern Sie die letzte Zeile von /Cygwin.bat(normalerweise C:\cygwin\oder C:\cygwin64\).

Wenn Sie Cygwin mitminzig, und fügen Sie dann die Shell als Parameter hinzu: mintty /usr/bin/zsh -

Antwort2

Wenn Sie mintty.exeCygwin Terminal direkt ausführen oder über das Startmenü oder den Desktop ausführen (was eine Verknüpfung zu mintty.exe ist), können Sie die Umgebungsvariable SHELL in Windows auf setzen /usr/bin/zsh.

Unter Windows 7:

  1. Drücken Sie die Windows-Taste.
  2. Beginnen Sie mit der Eingabe von „Umwelt“.
  3. Wenn es angezeigt wird, wählen Sie „Umgebungsvariablen für Ihr Konto bearbeiten“ aus.

Der Rest sollte selbsterklärend sein.

Antwort3

Kopiert vonmeine Antwort auf Stack Overflow:


Anstatt eine passwd-Datei zu erstellen, die Cygwinempfiehlt davon ab1 , Sie könntenBearbeiten Sie /etc/nsswitch.conf. Fügen Sie die folgende Zeile hinzu oder bearbeiten Sie sie:

db_shell: /usr/bin/fish

Der Nachteil/Vorteil dieser Methode besteht darin, dass diese Änderung alle Benutzer betrifft, wenn Sie mehrere Benutzer haben. Der Vorteil/Vorteil ist, dass es kinderleicht ist. Der einzige Haken ist, dass Sie Cygwin neu starten müssen.

Wenn duTunVerwenden Sie nach dieser Änderung mkpasswd. Es wird Ihre neue Standard-Shell für alle Benutzer verwenden, die sich anmelden dürfen.


1 In der mkpasswd-Dokumentation steht Folgendes:

Verwenden Sie diesen Befehl nicht zum Generieren einer lokalen /etc/passwd-Datei, es sei denn, Sie benötigen wirklich eine. Weitere Informationen finden Sie im Cygwin-Benutzerhandbuch.

Ich kann keine wirklich solide Begründung finden in derBedienungsanleitung, abgesehen von der 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 ein ausreichend guter Grund ist. Ich kann sagen, dass der Prozess für Neulinge etwas fehleranfällig ist.

Antwort4

Mein Hosting-Dienst, dreamhost.com, hat ein Optionsfeld in seinem Benutzerbearbeitungsbildschirm. Es kann zwischen vier verschiedenen Shells wählen und sieht ungefähr so ​​aus

User Type: (Click one of these three buttons) 
  * FTP user - allows login via FTP only.   
  * SFTP user - allows login via SFTP only.
  * Shell user - allows login via both SSH and FTP. 
        Shell Type: ____/usr/bin/tcsh_____  
Disallow FTP?:  ___

verwandte Informationen