{"meta":{"title":"Ändern der Shell in einem Codespace","intro":"Du kannst deine Shell in einem Codespace ändern, um das gewohnte Setup beizubehalten.","product":"Codespaces","breadcrumbs":[{"href":"/de/codespaces","title":"Codespaces"},{"href":"/de/codespaces/customizing-your-codespace","title":"Anpassen Ihres Codespaces"},{"href":"/de/codespaces/customizing-your-codespace/changing-the-shell-in-a-codespace","title":"Ändern Sie Ihre Shell"}],"documentType":"article"},"body":"# Ändern der Shell in einem Codespace\n\nDu kannst deine Shell in einem Codespace ändern, um das gewohnte Setup beizubehalten.\n\nWenn du in einem Codespace arbeitest, kannst du ein neues Terminalfenster mit einer Shell deiner Wahl öffnen, deine Standardshell für neue Terminalfenster ändern oder eine neue Shell installieren. Du kannst auch Dotfiles verwenden, um deine Shell zu konfigurieren.\n\nCodespaces, die das Standard-Entwickler-Containerimage verwenden, werden mit den installierten Shells `bash`, `zsh` und `fish` bereitgestellt. Wenn du einen neuen Codespace im VS Code-Webclient öffnest oder über SSH eine Verbindung mit einem Codespace herstellst, wird das Terminal standardmäßig mit einer ausgeführten `bash`-Sitzung geöffnet. In der VS Code-Desktopanwendung hängt die Standardshell von deinen lokalen Einstellungen und deinem Betriebssystem ab. Weitere Informationen findest du unter [Terminalprofile](https://code.visualstudio.com/docs/terminal/profiles) in der VS Code-Dokumentation.\n\n## Ändern der Standardshell in VS Code\n\nWenn du nicht die Standardshell verwenden möchtest, kannst du eine neue Terminalsitzung mit einer anderen Shell öffnen.\n\n1. Wenn das integrierte Terminal in VS Code nicht angezeigt wird, drücke <kbd>STRG</kbd>+<kbd>\\`</kbd>.\n\n2. Wähle rechts neben dem Symbol <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-plus\" aria-label=\"plus\" role=\"img\"><path d=\"M7.75 2a.75.75 0 0 1 .75.75V7h4.25a.75.75 0 0 1 0 1.5H8.5v4.25a.75.75 0 0 1-1.5 0V8.5H2.75a.75.75 0 0 1 0-1.5H7V2.75A.75.75 0 0 1 7.75 2Z\"></path></svg> zum Öffnen eines neuen Terminalfensters das Dropdownsymbol aus.\n\n   ![Screenshot des integrierten Terminals in VS Code Neben dem Plussymbol ist ein nach unten gerichteter Pfeil orange umrandet.](/assets/images/help/codespaces/new-shell-session.png)\n\n3. Klicke im Dropdownmenü auf den Namen der Shell, die du verwenden möchtest.\n\n## Installieren einer neuen Shell\n\nWenn du eine Shell verwenden möchtest, die noch nicht im Basisimage oder in der Entwicklungscontainerkonfiguration für einen Codespace installiert ist, kannst du eine neue Shell installieren.\n\nWenn Sie das Standard-Entwickler-Containerimage verwenden, suchen Sie nach Installationsanweisungen für Ubuntu Linux. Wenn du nur für eine Sitzung eine andere Shell verwenden möchten, kannst du die Shell über die Befehlszeile im verwendeten Codespace installieren. Wenn du den Container im Codespace neu erstellst, können jedoch von dir installierte Programme verloren gehen. Weitere Informationen finden Sie unter [Ausführliche Informationen zu GitHub Codespaces](/de/codespaces/about-codespaces/deep-dive#about-the-directory-structure-of-a-codespace).\n\nEine robustere Option zum Installieren neuer Shells besteht darin, die Installationsbefehle entweder in ein Dotfiles-Repository oder als Lebenszyklusbefehl (etwa `postCreateCommand`) in eine Datei vom Typ `devcontainer.json` einzufügen. Du solltest ein Dotfiles-Repository zum Installieren einer Shell verwenden, die du in allen eigenen Codespaces verwenden möchtest, und eine Datei vom Typ `devcontainer.json` für eine Shell, die Mitwirkende zu einem bestimmten Repository installiert haben sollten. Weitere Informationen findest du unter [Personalisieren GitHub Codespaces für Ihr Konto](/de/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles) und [Einführung in Dev-Container](/de/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers).\n\n### Hinzufügen eines VS Code-Terminalprofils für eine neue Shell\n\nVS Code erkennt die meisten Standardshells automatisch und fügt sie als Terminalprofil hinzu, sodass du problemlos neue Terminalfenster mit der von dir installierten Shell öffnen kannst.\n\nWenn die von dir installierte Shell nicht automatisch erkannt wird, kannst du deinen Benutzereinstellungen ein neues Terminalprofil hinzufügen. Diese Einstellung ist von deinem Betriebssystem abhängig. Daher solltest du `linux` für den VS Code-Webclient und dein lokales Betriebssystem für die Desktopanwendung verwenden.\n\n1. Drücke zum Öffnen der Visual Studio Code Command Palette <kbd>BEFEHL</kbd>+<kbd>UMSCHALT</kbd>+<kbd>P</kbd> (Mac) oder <kbd>STRG</kbd>+<kbd>UMSCHALT</kbd>+<kbd>P</kbd> (Windows).\n\n2. Beginne mit der Eingabe von „Benutzereinstellungen“, und klicke dann auf **Einstellungen: Benutzereinstellungen öffnen (JSON)** .\n\n3. Füge in der Datei `settings.json` im JSON-Objekt eine neue Eigenschaft wie die folgende hinzu. Ersetze `OPERATING-SYSTEM` durch das entsprechende Betriebssystem (z. B. `linux`, `windows` oder `osx`) und `SHELL` durch die von dir installierte Shell.\n\n   ```json copy\n   \"terminal.integrated.profiles.OPERATING-SYSTEM\": {\n     \"SHELL\": {\n       \"path\": \"SHELL\"\n     }\n   }\n   ```\n\n   Beispiel:\n\n   ```json\n   \"terminal.integrated.profiles.linux\": {\n    \"csh\": {\n      \"path\": \"csh\"\n    }\n   }\n   ```\n\n4. Speicher die Datei.\n\nDu kannst die Einstellungssynchronisierung verwenden, um diese Einstellungen für alle Codespaces freizugeben, die du im Webclient und in der Desktopanwendung von VS Code öffnest. Wenn du im Webclient arbeitest, ist die Einstellungssynchronisierung standardmäßig deaktiviert. Du musst die Einstellungssynchronisierung aktivieren, um Änderungen an deinen Einstellungen zu pushen oder neue Änderungen, die du an anderer Stelle vorgenommen hast, zu pullen. Weitere Informationen finden Sie unter [Personalisieren GitHub Codespaces für Ihr Konto](/de/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#settings-sync).\n\n## Festlegen der Standardshell in VS Code\n\nDu kannst ein Standardterminalprofil zum Auswählen der Standardshell festlegen, die für alle neuen Terminalfenster verwendet wird, die du in VS Code öffnest. Das Standardterminalprofil ist von deinem Betriebssystem abhängig. Du kannst also ein Standardprofil für Linux festlegen, wenn du den VS Code-Webclient verwendest, oder für dein lokales Betriebssystem, wenn du die Desktopanwendung verwendest.\n\n> \\[!NOTE]\n> Unabhängig von deinem Standardprofil werden im Webclient geöffnete Codespaces immer mit einer anfänglich ausgeführten `bash`-Sitzung geöffnet.\n\n1. Drücke zum Öffnen der Visual Studio Code Command Palette <kbd>BEFEHL</kbd>+<kbd>UMSCHALT</kbd>+<kbd>P</kbd> (Mac) oder <kbd>STRG</kbd>+<kbd>UMSCHALT</kbd>+<kbd>P</kbd> (Windows).\n\n2. Beginne mit der Eingabe von „Benutzereinstellungen“, und klicke dann auf **Einstellungen: Benutzereinstellungen öffnen (JSON)** .\n\n3. Um die Standardshell für das entsprechende Betriebssystem festzulegen, füge innerhalb des JSON-Objekts Zeilen hinzu, oder bearbeite vorhandene Zeilen wie folgt:\n\n   ```json\n   \"terminal.integrated.defaultProfile.OPERATING-SYSTEM\": \"SHELL\"\n   ```\n\n   Beispiel:\n\n   ```json copy\n   {\n      \"terminal.integrated.defaultProfile.osx\": \"zsh\",\n      \"terminal.integrated.defaultProfile.linux\": \"bash\",\n      \"terminal.integrated.defaultProfile.windows\": \"PowerShell\"\n   }\n   ```\n\n4. Speichern Sie die Datei `settings.json`.\n\nDu kannst die Einstellungssynchronisierung verwenden, um diese Einstellungen für alle Codespaces freizugeben, die du im Webclient und in der Desktopanwendung von VS Code öffnest. Wenn du im Webclient arbeitest, ist die Einstellungssynchronisierung standardmäßig deaktiviert. Du musst die Einstellungssynchronisierung aktivieren, um Änderungen an deinen Einstellungen zu pushen oder neue Änderungen, die du an anderer Stelle vorgenommen hast, zu pullen. Weitere Informationen finden Sie unter [Personalisieren GitHub Codespaces für Ihr Konto](/de/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#settings-sync).\n\n## Festlegen der Standardshell über SSH\n\nWenn du eine SSH-Verbindung mit einem Codespace über die Befehlszeile herstellst, stellst du standardmäßig eine Verbindung mit einer `bash`-Sitzung im Codespace her.\n\nWenn du ein Dotfiles-Repository für GitHub Codespaces aktiviert hast, kannst du die Standardshell ändern, mit der du eine Verbindung herstellst, indem du einem Installationsskript (etwa `install.sh`) in deinen Dotfiles einen Befehl hinzufügst. Weitere Informationen findest du unter [Verwenden von GitHub Codespaces mit GitHub CLI](/de/codespaces/developing-in-a-codespace/using-github-codespaces-with-github-cli#ssh-into-a-codespace) und [Personalisieren GitHub Codespaces für Ihr Konto](/de/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles). Der folgende Befehl ändert beispielsweise die Standardshell in `zsh`.\n\n```shell copy\nsudo chsh \"$(id -un)\" --shell \"/usr/bin/zsh\"\n```\n\nWenn du eine Standardshell verwenden möchtest, die nicht standardmäßig in deinem Codespace installiert ist, oder sicherstellen möchtest, dass du über die neueste Version der Shell verfügst, kannst du die Shell zuerst installieren.\n\n```shell copy\nsudo apt-get update -y\nsudo apt-get install -y csh\nsudo chsh \"$(id -un)\" --shell \"/usr/bin/csh\"\n```\n\n> \\[!NOTE]\n> Wenn du einen neuen Codespace erstellst (z. B. mithilfe von `gh codespace create`), musst du ausreichend lange warten, um sicherzustellen, dass das Skript zu Ende ausgeführt wurde, bevor du über SSH eine Verbindung mit dem Codespace herstellst. Wenn das Skript noch nicht fertig ausgeführt wurde, wird eine Verbindung zu einer `bash`-Standardsitzung hergestellt.\n\nWenn du eine Verbindung mit dem Codespace hergestellt hast, kannst du für die meisten Shells den Befehl `readlink /proc/$$/exe` verwenden, um zu überprüfen, ob die richtige Shell ausgeführt wird.\n\n## Konfigurieren deiner Shell\n\nBei den meisten Shells kannst du eine Konfigurationsdatei verwenden (etwa `.bashrc`), um die Shell mit deinen bevorzugten Einstellungen zu konfigurieren. Diese Einstellungen können beispielsweise Aliase und Umgebungsvariablen enthalten.\n\nStandardmäßig enthalten Codespaces eine vordefinierte Konfiguration für die vorinstallierten Shells. Das Basisverzeichnis in einem Codespace enthält beispielsweise Dateien vom Typ `.bashrc` und `.zshrc`. Du kannst den Inhalt dieser Dateien ändern und dann einen Befehl wie `source ~/.bashrc` verwenden, um die Shellkonfiguration zu aktualisieren. Wenn du den Container in einem Codespace neu erstellst, gehen jedoch alle Änderungen an diesen Dateien verloren. Weitere Informationen finden Sie unter [Ausführliche Informationen zu GitHub Codespaces](/de/codespaces/about-codespaces/deep-dive#about-the-directory-structure-of-a-codespace).\n\nIm Allgemeinen solltest du ein Dotfiles-Repository verwenden, um Shells mit deinen bevorzugten Einstellungen zu konfigurieren. Das Setup in deinen Dotfiles gilt für alle von dir erstellten Codespaces und wird bei Neuerstellungen des Containers beibehalten. Weitere Informationen finden Sie unter [Personalisieren GitHub Codespaces für Ihr Konto](/de/codespaces/setting-your-user-preferences/personalizing-github-codespaces-for-your-account#dotfiles).\n\n### Fehlerbehebung der `fish`-Shell\n\nDie `fish`-Shell enthält eine webbasierte Konfigurationsschnittstelle. Du kannst den Befehl `fish_config` verwenden, um einen lokalen Webserver und diese Schnittstelle zu starten. Anschließend kannst du beispielsweise die Terminalaufforderung ändern oder deine Umgebungsvariablen anzeigen.\n\nDu kannst die webbasierte Schnittstelle für `fish` in einem Codespace verwenden. Die Farbeinstellungen im integrierten Terminal von VS Code hängen jedoch vom ausgewählten VS Code-Design ab, und du kannst diese Einstellungen nicht überschreiben, indem du ein neues Design in der `fish_config`-Schnittstelle festlegst.\n\nWenn `fish` den lokalen Server startet, funktioniert der Standardlink, den GitHub Codespaces zum weitergeleiteten Port bereitstellt, nicht. Wenn du beispielsweise in der Popupmeldung auf **Im Browser öffnen** klickst, wirst du zu einer Fehlerseite weitergeleitet.\n\nSo greifst du auf die webbasierte Schnittstelle für `fish_config` zu\n\n1. Gib in einem Terminal, in dem eine `fish`-Sitzung ausgeführt wird, `fish_config` ein.\n\n2. Verwende in der Terminalausgabe <kbd>BEFEHL</kbd>+Klick oder <kbd>STRG</kbd>+Klick, um den Link zur HTML-Datei `web_config` zu öffnen.\n\n   ```shell\n   $ fish_config\n   Web config started at file:///tmp/web_config60rc9tr3.html\n   Hit ENTER to stop.\n   ```\n\n3. Verwende in der Datei `web_config`<kbd>BEFEHL</kbd>+Klick oder <kbd>STRG</kbd>+Klick, um den Link zum weitergeleiteten Port zu öffnen.\n\n   ```html\n   <body>\n     <p><a href=\"http://localhost:8000/1b9411c2469e392b96df5e5b28da485b/\">Start the Fish Web config</a></p>\n   </body>\n   ```\n\n## Weiterführende Lektüre\n\n* [Festlegen der Benutzereinstellungen](/de/codespaces/setting-your-user-preferences)\n* [Ihre Codespaces verwalten](/de/codespaces/managing-your-codespaces)"}