Wie kann ich in MSYS2 eine andere Shell wie Zsh oder Fish einrichten?
- Einführung
- Installation der gewünschten Shell
- Überprüfen der Installation
- Als Standard-Shell festlegen
- Alternativ: Standard-Shell in der Bash-Konfiguration ändern
- Einrichtung und Konfiguration der neuen Shell
- Zusammenfassung
Einführung
MSYS2 ist eine minimale UNIX-ähnliche Umgebung für Windows, die eine Shell und viele GNU/Linux-Tools bereitstellt. Standardmäßig wird in MSYS2 die Bash-Shell verwendet, doch Sie können auch andere Shells wie Zsh oder Fish installieren und als Standardshell einstellen. Nachfolgend wird beschrieben, wie Sie das machen können.
Installation der gewünschten Shell
Öffnen Sie zunächst das MSYS2-Terminal (msys2.exe) und aktualisieren Sie die Paketdatenbank und installierten Pakete mit pacman -Syu. Danach installieren Sie die gewünschte Shell, zum Beispiel Zsh oder Fish. Für Zsh geben Sie den Befehl pacman -S zsh ein; für Fish verwenden Sie pacman -S fish. Diese Befehle laden und installieren die Pakete aus den MSYS2-Repositorys.
Überprüfen der Installation
Nachdem die Installation abgeschlossen ist, prüfen Sie, ob die Shell korrekt installiert wurde, indem Sie den Namen der Shell eingeben, z.B. zsh oder fish, in Ihrem MSYS2-Terminal. Falls alles funktioniert, sollte die Shell starten und Sie sehen eine andere Eingabeaufforderung.
Als Standard-Shell festlegen
Im Gegensatz zu vielen Linux-Systemen gibt es unter MSYS2 keine direkte bzw. dauerhafte Möglichkeit, die Standard-Shell systemweit über die /etc/passwd zu ändern, da diese Datei nicht immer existiert oder verwendet wird. Stattdessen können Sie die Verknüpfung bzw. das Terminal-Startskript anpassen oder eine neue Verknüpfung erstellen, die die gewünschte Shell startet.
Erstellen Sie eine neue Verknüpfung zum MSYS2-Terminal, und bearbeiten Sie die Ziel-Eigenschaft dieser Verknüpfung. Normalerweise lautet der Startbefehl für MSYS2:
C:\msys64\usr\bin\mintty.exe -i /msys2.ico /usr/bin/bash --loginÄndern Sie den Pfad zur Shell von bash auf zsh oder fish:
C:\msys64\usr\bin\mintty.exe -i /msys2.ico /usr/bin/zsh --loginoder
C:\msys64\usr\bin\mintty.exe -i /msys2.ico /usr/bin/fish --loginSpeichern Sie die Verknüpfung. Durch einen Doppelklick auf diese Verknüpfung startet MSYS2 nun direkt mit der neuen Shell.
Alternativ: Standard-Shell in der Bash-Konfiguration ändern
Falls Sie bei einem MSYS2-Terminal mit Bash starten, können Sie auch Ihre Bash-Konfiguration so anpassen, dass beim Start automatisch in Zsh oder Fish gewechselt wird. Dazu fügen Sie am Ende der ~/.bashrc oder ~/.bash_profile folgendes hinzu:
exec zshoder
exec fishDiese Zeile ersetzt die Bash durch die angegebene Shell. Beim Starten der Bash wird sofort die neue Shell initiiert. Beachten Sie, dass hierbei die Bash-Shell kurz gestartet wird, bevor die neue Shell übernommen wird.
Einrichtung und Konfiguration der neuen Shell
Beim ersten Start von Zsh werden Sie möglicherweise gefragt, ob Sie eine Konfigurationsdatei erzeugen möchten (Zsh-Initialisierung). Sie können diesen Vorgang interaktiv durchführen oder eine eigene ~/.zshrc-Datei anlegen und darin Ihre Einstellungen vornehmen.
Fish ist eine benutzerfreundliche Shell, die von Haus aus viele Features bietet. Auch hier können Sie eigene Konfigurationen in ~/.config/fish/config.fish anlegen, um Aliase, Funktionen oder Umgebungsvariablen zu definieren.
Zusammenfassung
Zusammenfassend installieren Sie Zsh oder Fish mit pacman -S zsh bzw. pacman -S fish. Um die neue Shell als Standard in MSYS2 zu verwenden, passen Sie entweder die Verknüpfung zu mintty an, um die neue Shell zu starten, oder führen in der Bash-Konfiguration per exec die neue Shell aus. Danach können Sie Ihre neue Shell nach Ihren Wünschen konfigurieren.
