Wie ändere ich die Standard-Shell innerhalb einer MobaXterm-Sitzung?

Melden
  1. Einleitung
  2. Ändern der Standard-Shell bei einer lokalen Sitzung in MobaXterm
  3. Ändern der Standard-Shell bei einer Remote-SSH-Verbindung
  4. Alternative Methode: Startskripte nutzen
  5. Zusammenfassung

Einleitung

MobaXterm ist ein leistungsfähiges Terminalprogramm für Windows, das eine Vielzahl von Netzwerktools und eine eingebaute X-Server-Funktionalität bietet. Standardmäßig startet MobaXterm in seiner eigenen Unix-ähnlichen Shell-Umgebung (basierend auf bash), oder wenn Sie eine Remote-Verbindung herstellen, wird die auf dem Zielsystem konfigurierte Standard-Shell verwendet. Um die Standard-Shell innerhalb einer MobaXterm-Sitzung zu ändern, können Sie verschiedene Ansätze verfolgen, je nachdem, ob Sie lokal arbeiten (also innerhalb von MobaXterms eingebauter Shell) oder eine SSH-Verbindung zu einem entfernten Server nutzen.

Ändern der Standard-Shell bei einer lokalen Sitzung in MobaXterm

Wenn Sie MobaXterm lokal auf Ihrem Windows-System verwenden und etwa die Standard-Shell von bash auf eine andere Shell wie zsh oder fish wechseln möchten, dann müssen Sie zunächst sicherstellen, dass die gewünschte Shell installiert ist. MobaXterm verwendet Cygwin-Tools oder seine eigene vorkompilierte Umgebung, weshalb nicht immer alle Shells standardmäßig vorhanden sind. Sollten Sie eine Shell manuell installiert haben, können Sie das Startverhalten von MobaXterm wie folgt anpassen.

Starten Sie MobaXterm und öffnen Sie das Einstellungsmenü entweder über den Button Settings oder den Menüpunkt Settings. Dort navigieren Sie zum Reiter Terminal. Dort finden Sie eine Option wie Shell oder Specify local shell. In diesem Eingabefeld können Sie den Pfad zur gewünschten Shell eintragen, z.B. /bin/zsh oder /usr/bin/fish. Speichern Sie die Änderungen und öffnen Sie ein neues Terminalfenster. MobaXterm startet nun mit der angegebenen Shell als Standard.

Falls die gewünschte Shell nicht im Standard-Umgebungspfad vorhanden ist, müssen Sie sicherstellen, dass sie in Ihrem MobaXterm-Umfeld installiert ist oder den vollständigen Pfad angeben. Alternativ können Sie auch in der MobaXterm-Konfigurationsdatei oder in einem Start-Skript die Shell explizit aufrufen.

Ändern der Standard-Shell bei einer Remote-SSH-Verbindung

Wenn Sie mit MobaXterm eine SSH-Verbindung zu einem Unix- oder Linux-Server herstellen, ist die Standard-Shell grundsätzlich die, die auf dem entfernten System für Ihren Benutzer konfiguriert ist. Um diese zu ändern, müssen Sie auf dem Zielsystem die zu verwendende Shell festlegen. Dies geschieht meist mit dem Kommando chsh (change shell).

Verbinden Sie sich mit dem Server über MobaXterm per SSH, und führen Sie dann den Befehl

chsh -s /bin/zsh

aus, um Ihre Standard-Shell auf zsh zu ändern. Dabei müssen Sie den Pfad zur gewünschten Shell angeben, wie sie auf dem Server installiert ist. Nach der Änderung müssen Sie sich ab- und wieder anmelden, damit die neue Shell aktiv wird.

Falls Sie keinen Zugriff auf chsh haben oder der Administrator die Änderung nicht zulässt, können Sie innerhalb von MobaXterm in der SSH-Sitzung auch manuell eine andere Shell starten, indem Sie einfach den Shell-Befehl eingeben, z. B. zsh. Wenn Sie jedoch möchten, dass die Sitzung automatisch mit dieser Shell startet, können Sie in MobaXterm unter Session settings für die SSH-Verbindung im Reiter Advanced SSH settings ein Kommando angeben, das beim Verbindungsaufbau automatisch ausgeführt wird, etwa /bin/zsh -l. So startet die Sitzung direkt in der gewünschten Shell.

Alternative Methode: Startskripte nutzen

Eine weitere Möglichkeit, die Shell zu ändern, besteht darin, innerhalb der Startskripte wie .bashrc oder .profile der aktuellen Shell einen Befehl einzufügen, der beim Start automatisch die gewünschte Shell aufruft. Zum Beispiel könnten Sie am Ende der .bashrc folgendes hinzufügen:

exec /bin/zsh -l

Dies bewirkt, dass beim Start von bash sofort auf zsh gewechselt wird. Diese Methode ist jedoch eher ein Workaround und kann in manchen Situationen zu unerwartetem Verhalten führen, zum Beispiel wenn gestartete Subshells ebenfalls diese Änderung auslösen.

Zusammenfassung

Das Ändern der Standard-Shell in MobaXterm hängt davon ab, ob Sie lokal oder remote arbeiten. Für lokale MobaXterm-Terminals ändern Sie den Pfad zur Shell direkt in den Einstellungen. Für Remote-Sessions besteht die korrekte Art darin, die Standard-Shell des Benutzerkontos auf dem Zielserver mit chsh zu ändern oder in MobaXterm Befehle anzugeben, die beim Verbindungsstart die gewünschte Shell laden. Alternativ können Startskripte modifiziert werden, um beim Start eine andere Shell zu laden, wobei diese Methode mit Vorsicht einzusetzen ist.

0

Kommentare