Bitdoze-Logo

Starship + Ghostty: Das ultimative Mac-Terminal-Setup

Starship + Ghostty unter macOS in Minuten einrichten: Ghostty installieren, ein Starship-Preset anwenden, den Prompt tunen und zoxide & eza für ein schnelleres Mac-Terminal hinzufügen.

Dragos

Aktualisiert Veröffentlicht 18 Min. Lesezeit

Ghostty-Terminal unter macOS mit dem Starship-Prompt und einem Tokyo-Night-Powerline-Preset

Affiliate-Hinweis

Einige Links in dieser Anleitung sind Affiliate-Links. Wenn du darüber kaufst, erhalten wir möglicherweise eine kleine Provision – ohne zusätzliche Kosten für dich. Das hilft uns, diese Empfehlungen weiter zu testen und zu aktualisieren.

Diese Anleitung führt dich durch das Setup von Starship und Ghostty auf deinem Mac. Zusammen ergeben sie ein solides Mac-Terminal-Setup: ein GPU-beschleunigtes Terminal plus ein Prompt, das Git-Status, Sprachversionen und Befehlsdauer anzeigt. Ich starte mit einer Ghostty-Config, wende ein Starship-Preset an (Tokyo Night oder Catppuccin Powerline), tune den Prompt mit ein paar Zeilen TOML und füge dann praktische Tools wie zoxide und eza hinzu. Ich zeige dir auch, wie du deine ~/.zshrc bearbeitest, ohne versehentlich Init-Zeilen zu duplizieren, wie du die Fehler behebst, die wirklich passieren, und wie du alles sauber rückgängig machst.

Wenn du einen Ghostty-fokussierten Überblick willst – Features, Inspector und Multiplexer vs. tmux – schau in Ghostty Terminal: Der komplette Setup-Guide für moderne Mac-Entwicklung.

Wenn du über Prompt-Tweaks hinausgehst und ein Terminal-Layout rund um AI-Coding-Agents, Browser-Automatisierung und Benachrichtigungen willst, habe ich auch eine eigene Anleitung zu cmux Terminal geschrieben.

TL;DR: Schnell-Setup (Copy/Paste)

Das ist der schnellste Weg zum Mac-Terminal-Setup: drei brew-Befehle, zwei Zeilen in deiner Shell-Config, ein Preset. Führe das aus und folge dann den Abschnitten unten für das „Warum” und die optionalen Upgrades:

bash
brew install --cask ghostty
brew install starship zoxide eza
brew install font-meslo-lg-nerd-font

Füge Starship und zoxide einmal zu deiner ~/.zshrc hinzu:

bash
open -e ~/.zshrc

Ergänze:

bash
eval "$(starship init zsh)"
eval "$(zoxide init zsh)"

Wähle ein Starship-Preset:

bash
mkdir -p ~/.config
starship preset tokyo-night -o ~/.config/starship.toml
# or:
# starship preset catppuccin-powerline -o ~/.config/starship.toml

Wenn ein Preset-Name einen Fehler wirft, führe starship preset list aus, um die gültigen Namen für deine installierte Starship-Version zu sehen. Namen ändern sich gelegentlich zwischen Releases – das ist der häufigste Fehler in dieser ganzen Anleitung.

Neu laden:

bash
source ~/.zshrc

Verifizieren: Öffne einen neuen Ghostty-Tab. Siehst du ein thematisiertes Powerline-Prompt, bist du fertig. Rendern Icons als Kästchen, spring zu Schritt 2 für den Font-Fix. Für alles andere lies weiter.

Voraussetzungen

Was du vor dem Start brauchst:

  • Ein Mac unter macOS mit Zsh als Shell (Standard seit Catalina). Prüfe mit echo $SHELL.
  • Homebrew installiert. Falls nicht, dauert der Bootstrap-Befehl unten etwa zwei Minuten.
  • Admin-Rechte für die Homebrew-Installation. macOS fragt nach den Xcode Command Line Tools, falls sie fehlen.
  • Apple Silicon und Intel funktionieren beide. Der Homebrew-Installationspfad unterscheidet sich (/opt/homebrew vs. /usr/local), was später im Troubleshooting-Abschnitt wichtig wird.

Wenn Homebrew noch nicht installiert ist:

bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Kostenhinweis: Jedes Tool in dieser Anleitung ist kostenlos und Open Source, läuft lokal und kostet 0 $/Monat. Kein Server, kein Abo.

Warum Ghostty und Starship?

Ghostty ist ein in Zig geschriebener Terminal-Emulator. Er nutzt GPU-Beschleunigung, läuft nativ unter macOS und hat ein schlichtes Config-System. Mehr dazu auf ghostty.org.

Starship funktioniert mit Zsh (die Standard-Shell von macOS seit Catalina) und anderen Shells. Es zeichnet den Prompt: Git-Status, Verzeichnispfade, Programmiersprachen-Versionen, Befehlsdauer. Presets und Konfiguration gibt es auf starship.rs.

Die Teile stapeln sich so:

GhosttyTerminal-Emulator. GPU-Rendering, Themes, Keybinds.ZshDie Shell. Führt deine Befehle aus, lädt ~/.zshrc.StarshipPrompt-Renderer. Liest ~/.config/starship.toml.Plugins und Toolszsh-autosuggestions, zsh-syntax-highlighting, zoxide, eza

Jede Schicht spricht nur mit ihren Nachbarn. Ghostty führt Zsh aus, Zsh ruft Starship zum Rendern jedes Prompts auf, und die Plugins und Tools haken sich direkt in Zsh. Diese Trennung ist der Grund, warum dieses Setup Upgrades gut übersteht: Du kannst Terminal oder Prompt tauschen, ohne den Rest anzufassen.

Wenn du Terminals noch vergleichst, haben wir auch ein WezTerm-Setup auf Mac mit tmux und zoxide. Und falls du später Ghostty-artiges Rendering plus vertikale Workspaces, Agent-Benachrichtigungen und einen eingebauten Browser willst, schau dir cmux an.

Schritt 1: Ghostty auf deinem Mac installieren

Installiere Ghostty über Homebrew (siehe Voraussetzungen, falls du es noch nicht hast):

bash
brew install --cask ghostty

Das installiert Ghostty in deinen Programme-Ordner.

Verifizieren:

bash
ghostty +version

Du willst einen Versions-String sehen. Bei command not found ist das Homebrew-bin-Verzeichnis nicht in deinem PATH (steht im Troubleshooting unten).

Starte Ghostty aus dem Programme-Ordner oder tippe ghostty in dein aktuelles Terminal. Die GPU-Beschleunigung macht es spürbar schneller als ältere Terminals. Für andere Installationsmethoden besuche ghostty.org/download.

Schritt 2: Einen Nerd Font installieren

Starships Powerline-Pfeile und Datei-Icons nutzen Glyphen, die macOS-Standardfonts nicht mitbringen. Meslo Nerd Font funktioniert gut und hat klare Icons.

Installiere ihn über Homebrew:

bash
brew install font-meslo-lg-nerd-font

Prüfe die Font-Installation im Font Book, indem du nach „Meslo” suchst. Für andere Optionen siehe nerdfonts.com.

Den exakten Font-Familiennamen richtig angeben

Der Familienname in Ghosttys Config muss dem entsprechen, als was der Font installiert wurde. Führe aus:

bash
ghostty +list-fonts | grep -i meslo

Du solltest MesloLGS Nerd Font Mono in der Ausgabe sehen. Ein nicht passender Familien-String ist Ursache Nummer eins für kaputte Icons – kopiere den Namen exakt aus dieser Ausgabe.

Schritt 3: Ghostty konfigurieren

Lege zuerst das Config-Verzeichnis an (Ghostty liest keine Datei, die nicht existiert):

bash
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config
open -e ~/.config/ghostty/config

Ergänze diese Konfiguration:

text
font-family = MesloLGS Nerd Font Mono
font-size = 16
background-opacity = 0.85
theme = Argonaut

Das setzt MesloLGS Nerd Font Mono, damit Powerline-Icons sauber rendern, nutzt 16pt für Lesbarkeit, wendet 85 % Hintergrund-Opazität an und wählt das Argonaut-Theme. Zwei nützliche Checks, solange du hier bist:

bash
ghostty +list-themes
ghostty +list-fonts

Das erste listet jeden Theme-Namen, den du in die theme-Zeile setzen kannst. Das zweite listet exakte Font-Familiennamen.

Verifizieren: Drücke Cmd+Shift+, in Ghostty, um die Config ohne Neustart neu zu laden. Wenn etwas komisch aussieht, beende Ghostty und öffne es neu; ein voller Restart wendet die Datei immer an.

Schritt 4: Starship installieren

Starship fügt deinem Prompt Kontextinformationen hinzu. Installiere es mit Homebrew:

bash
brew install starship

Integriere Starship in Zsh, indem du es deiner ~/.zshrc hinzufügst.

Statt blind mit echo ... >> anzuhängen (was Duplikate erzeugt, wenn du den Befehl zweimal ausführst), öffne deine Config und füge die Init-Zeile einmal hinzu:

bash
open -e ~/.zshrc

Ergänze:

bash
eval "$(starship init zsh)"

Dann neu laden:

bash
source ~/.zshrc

Verifizieren:

bash
starship --version

Der Prompt ändert sich beim Reload ebenfalls, kann aber schlicht aussehen, bis du im nächsten Schritt ein Preset anwendest. Das ist erwartbar. Wenn du vermutest, die Init-Zeile mehrfach ausgeführt zu haben, prüfe mit grep -n starship ~/.zshrc und lösche die Überschüsse. Doppelte Init-Zeilen verursachen doppelte Prompts und eine langsamere Shell.

Für andere Shells siehe Starships Installationsguide.

Schritt 5: Ein Starship-Preset anwenden

Presets sind fertige starship.toml-Dateien. Zwei beliebte Optionen sind Tokyo Night und Catppuccin Powerline. Alle findest du auf starship.rs/presets.

Presets überschreiben deine Config

Ein Preset mit -o ~/.config/starship.toml auszuführen überschreibt deine aktuelle starship.toml. Wenn du sie schon angepasst hast, sichere sie vorher:

bash
cp ~/.config/starship.toml ~/.config/starship.toml.bak

Tokyo Night

Ein dunkles Theme mit Violett- und Blautönen.

bash
mkdir -p ~/.config
starship preset tokyo-night -o ~/.config/starship.toml

Prüfe, was es geschrieben hat:

bash
open -e ~/.config/starship.toml

Catppuccin Powerline

Ein weicheres Pastell-Farbschema mit Powerline-artigem Prompt.

bash
mkdir -p ~/.config
starship preset catppuccin-powerline -o ~/.config/starship.toml

Lade deine Shell mit source ~/.zshrc neu, um es anzuwenden.

Wenn der Preset-Befehl mit einem unbekannten Namen fehlschlägt, führe starship preset list für die gültigen Namen deiner installierten Starship-Version aus und wiederhole den Befehl mit dem korrigierten Namen.

Verifizieren: Dein Prompt sollte jetzt abgewinkelte Powerline-Segmente mit Git- und Verzeichnis-Infos zeigen. Rendern Icons stattdessen als Kästchen, ist das ein Font-Problem, kein Starship-Problem. Zurück zu Schritt 2.

Schritt 6: Deine Starship-Config tunen (starship.toml)

Presets sind ein guter Anfang, aber ein paar Änderungen machen den Prompt meist praktischer: kürzere Pfade, optionale Zeitstempel und Befehlsdauer für langsame Befehle.

Öffne die Config-Datei:

bash
open -e ~/.config/starship.toml

Füge diese Ergänzungen am Ende ein. Sie funktionieren sowohl mit Tokyo Night als auch mit Catppuccin.

Empfohlene Basis-Tweaks

toml
# Keep the prompt responsive if anything external is slow
command_timeout = 1000

[directory]
truncation_length = 3
truncate_to_repo = true

[cmd_duration]
min_time = 500
format = "took [$duration]($style) "
style = "yellow bold"

Neu laden:

bash
source ~/.zshrc

Was sie tun: command_timeout verhindert, dass ein langsames Modul deinen Prompt hängt, truncation_length kürzt tiefe Pfade auf die letzten drei Verzeichnisse, und cmd_duration zeigt, wie lange jeder Befehl über einer halben Sekunde gebraucht hat.

Optional: Uhrzeit anzeigen (nützlich in SSH-Sessions)

toml
[time]
disabled = false
format = "[$time]($style) "
time_format = "%R"

Optional: Akku anzeigen (Laptops)

toml
[battery]
disabled = false

Optional: Git-Status-Styling

Wenn du klarere Git-Signale willst:

toml
[git_status]
style = "bold purple"

Optional: Sprachversionen

Aktiviere Node.js, wenn du Node-Arbeit machst:

toml
[nodejs]
disabled = false

Die komplette Liste der Module und Optionen steht in Starships Konfigurationsdoku. Füge Module einzeln hinzu, damit der Prompt schnell und lesbar bleibt.

Wenn sich der Prompt langsam anfühlt

Starship liefert zwei Diagnosebefehle mit, die du kennen solltest:

bash
starship timings
starship explain

starship timings zeigt, wie viele Millisekunden jedes Modul kostet. starship explain zeigt, was gerade gerendert wird und warum. Wenn ein Modul dominiert, deaktiviere es mit einer [module]-Sektion auf disabled = true, lass command_timeout gesetzt und führe starship timings zur Bestätigung erneut aus.

Schritt 7: zoxide installieren

zoxide lernt deine meistgenutzten Verzeichnisse und lässt dich mit z statt cd dorthin springen.

Installiere es:

bash
brew install zoxide

Füge es deiner ~/.zshrc hinzu (öffnen und editieren, gleiche Regel wie bei Starship: einmal, nicht anhängen):

bash
open -e ~/.zshrc

Ergänze:

bash
eval "$(zoxide init zsh)"

Neu laden:

bash
source ~/.zshrc

Nutze z statt cd. Zum Beispiel springt z proj in dein ~/Projects-Verzeichnis, wenn du es oft nutzt. Zoxide rankt Verzeichnisse nach Häufigkeit und Aktualität – es wird besser, je mehr du es nutzt. Für Flags, Shell-Init-Details und fortgeschrittene Nutzung siehe den kompletten Zoxide-Guide.

Schritt 8: ls durch eza ersetzen

Hinweis: eza ist der moderne Ersatz für ls (was Leute meinen, wenn sie in älteren Tutorials „exa” sagen).

Tausche den Standard-ls-Befehl gegen eza, um eingefärbte Listings mit Dateityp-Icons zu bekommen.

Installiere es:

bash
brew install eza

Füge Aliase zu deiner ~/.zshrc hinzu (einmal einfügen, nicht wiederholt anhängen):

bash
open -e ~/.zshrc

Ergänze:

bash
alias ls="eza --icons"
alias ll="eza -l --icons"
alias la="eza -la --icons"

Neu laden:

bash
source ~/.zshrc

Diese Aliase:

  • ls: Listet Dateien mit Icons für Dateitypen
  • ll: Zeigt eine detaillierte Liste mit Icons
  • la: Zeigt auch versteckte Dateien in der detaillierten Liste

Erkunde ezas Funktionen auf der eza-Website.

Schritt 9: Eigene Aliase hinzufügen

Aliase lohnen sich für alles, was du mehrmals täglich tippst. Sie leben in deiner ~/.zshrc.

Füge diese zu ~/.zshrc hinzu:

bash
# Quick edit configuration files
alias editstarship="vim ~/.config/starship.toml"
alias editghost="vim ~/.config/ghostty/config"

# Git shortcuts
alias gs="git status"
alias ga="git add"
alias gc="git commit -m"
alias gp="git push"

# Quick directory navigation
alias dev="cd ~/Development"
alias docs="cd ~/Documents"

Anwenden:

bash
source ~/.zshrc

Diese Aliase:

  • Lassen dich Starship- und Ghostty-Configs schnell editieren (editstarship, editghost)
  • Vereinfachen Git-Befehle (gs, ga, gc, gp)
  • Bieten schnelle Navigation zu häufigen Verzeichnissen (dev, docs)

Schritt 10: zsh-autosuggestions und zsh-syntax-highlighting hinzufügen

Füge zsh-autosuggestions und zsh-syntax-highlighting für bessere Befehlseingabe und Fehlererkennung hinzu.

Installieren:

bash
brew install zsh-autosuggestions zsh-syntax-highlighting

Füge sie deiner ~/.zshrc hinzu (platziere syntax-highlighting ans Ende der Datei, nach den anderen Plugins, damit es auch die Vorschläge einfärben kann):

bash
open -e ~/.zshrc

Ergänze:

bash
source $(brew --prefix)/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source $(brew --prefix)/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

Neu laden:

bash
source ~/.zshrc
  • zsh-autosuggestions: Schlägt Befehle basierend auf deiner History vor (grauer Text). Mit der Pfeiltaste rechts annehmen.
  • zsh-syntax-highlighting: Färbt gültige Befehle grün und ungültige rot ein – fängt Fehler vor der Ausführung.

Für das Detail-Setup siehe Command Autocomplete in Zsh aktivieren und Syntax Highlighting in Zsh aktivieren. Willst du mehr? Siehe unsere Zusammenstellung der besten Oh-My-Zsh-Plugins.

Troubleshooting: die üblichen Fehlerbilder

Das sind die Fehler, die bei diesem Stack wirklich auftreten – in der Reihenfolge, in der du sie vermutlich triffst.

‘xterm-ghostty’: unknown terminal type

Manche Tools, vor allem auf Remote-Servern, kennen Ghosttys Terminal-Typ nicht. Fix für die aktuelle Session:

bash
export TERM=xterm-256color

Als dauerhafte Lösung setze das nur für SSH, damit du das lokale Verhalten nicht änderst.

TERM nur für SSH setzen

Exportiere TERM=xterm-256color nicht global. Damit würdest du deine lokalen Ghostty-Features auf das Niveau alter Server herunterstufen. Der SSH_CONNECTION-Guard unten wendet den Fix nur dort an, wo er gebraucht wird.

Füge deiner ~/.zshrc hinzu:

bash
# Some servers don't know about Ghostty's TERM entry
if [[ -n "$SSH_CONNECTION" ]]; then
  export TERM=xterm-256color
fi

Neu laden:

bash
source ~/.zshrc

Doppelter Prompt oder langsame Shell

Symptom: Der Prompt rendert doppelt oder jeder Tastenschlag hakt. Ursache: Mehrere eval-Init-Zeilen, meist durch wiederholtes Ausführen der Setup-Befehle mit >>.

Prüfen:

bash
grep -nE "starship|zoxide" ~/.zshrc

Fix: Behalte genau ein eval "$(starship init zsh)" und ein eval "$(zoxide init zsh)", lösche den Rest, dann source ~/.zshrc.

command not found: starship (oder zoxide oder eza)

Ursache: Homebrews bin-Verzeichnis ist nicht in deinem PATH. Häufig auf Apple Silicon, wo Homebrew unter /opt/homebrew liegt.

Prüfen:

bash
which brew

Wenn das nichts ausgibt oder irgendwo Unerwartetes hinzeigt, stelle sicher, dass deine ~/.zshrc enthält:

bash
eval "$(/opt/homebrew/bin/brew shellenv)"

Intel-Macs nutzen stattdessen /usr/local/bin/brew shellenv. Diese Zeile muss in der Datei über den Starship- und zoxide-eval-Zeilen stehen.

Kästchen statt Icons

Ursache: Der font-family-String in deiner Ghostty-Config passt nicht zum installierten Font-Namen.

Fix: Führe ghostty +list-fonts | grep -i meslo aus, kopiere den exakten Familiennamen in font-family und lade mit Cmd+Shift+, neu. MesloLGS Nerd Font und MesloLGS Nerd Font Mono sind beide gültige, aber unterschiedliche Familien; beide funktionieren, solange der String passt.

Preset-Befehl wirft Fehler oder dein Prompt sieht nach Standard aus

Zwei Ursachen. Erstens ein Preset-Name, den deine Starship-Version nicht kennt: Führe starship preset list aus und nutze einen Namen aus dieser Ausgabe. Zweitens wurde die Config-Datei nie geschrieben: Prüfe mit ls -la ~/.config/starship.toml. Fehlt sie, wiederhole den Preset-Befehl aus Schritt 5. Existiert die Datei, aber nichts ändert sich, bestätige, dass eval "$(starship init zsh)" genau einmal in ~/.zshrc vorkommt.

Rollback: das ganze Setup rückgängig machen

Nichts davon ist eine Einbahnstraße. Baue es in umgekehrter Reihenfolge ab:

  1. Entferne die Shell-Init-Zeilen. Öffne ~/.zshrc und lösche die eval-Zeilen für Starship und zoxide, die source-Zeilen der Plugins und alle Aliase, die du hinzugefügt hast:
bash
open -e ~/.zshrc
  1. Lösche die Config-Dateien:
bash
rm ~/.config/starship.toml
rm -rf ~/.config/ghostty

Wenn du in Schritt 5 das Backup gemacht hast, behalte starship.toml.bak.

  1. Deinstalliere die Pakete. Ghostty und der Font sind Casks, der Rest Formulae – also zwei Befehle:
bash
brew uninstall --cask ghostty font-meslo-lg-nerd-font
brew uninstall starship zoxide eza zsh-autosuggestions zsh-syntax-highlighting

Ein Hinweis: zoxides Verzeichnis-Datenbank liegt unter ~/.local/share/zoxide und überlebt die Deinstallation. Lass sie liegen, falls du wiederkommen könntest, oder lösche sie für einen komplett sauberen Zustand.

Verifizieren: Öffne ein neues Terminal-Fenster. Du solltest das macOS-Standard-Prompt und einen sauberen Start ohne Fehler sehen.

FAQ

Starship vs. Powerlevel10k: was solltest du nehmen?

Starship funktioniert über mehrere Shells und Maschinen mit minimalem Setup. Powerlevel10k ist stark, wenn du nur Zsh nutzt und tiefe Zsh-native Anpassung willst.

Brauchst du noch tmux, wenn Ghostty multiplexen kann?

Für lokale Workflows reicht Ghosttys eingebautes Multiplexing gut. Tmux bleibt nützlich, wenn du Remote-Sessions detachen/attachen, lange Jobs auf Servern laufen lassen willst oder ein reifes Ökosystem und Portabilität brauchst. Wenn du tmux doch willst, deckt unsere Anleitung zum Installieren von tmux unter macOS die Grundlagen ab.

Meine Prompt-Icons sehen kaputt aus. Was ist los?

Prüfe den Font. Stelle sicher, dass Ghostty auf einen Nerd Font gesetzt ist (wie MesloLGS Nerd Font Mono) und starte das Terminal neu. Der exakte Familien-String zählt: Verifiziere ihn mit ghostty +list-fonts | grep -i meslo.

Warum zeigen manche Remote-Server 'unknown terminal type'?

Manche Umgebungen bringen Ghosttys terminfo-Eintrag nicht mit. TERM=xterm-256color für SSH-Sessions zu setzen behebt das.

Wie halte ich Ghostty und Starship aktuell?

Führe brew upgrade für die CLI-Tools und brew upgrade --cask --greedy für Casks wie Ghostty und den Nerd Font aus. Ghostty kann sich unter macOS auch selbst aktualisieren. Nach einem größeren Starship-Upgrade führe starship preset list erneut aus: Preset-Namen ändern sich gelegentlich zwischen Releases.

Fazit

Dein Mac-Terminal hat jetzt Ghostty und Starship, ein Starship-Preset, das dir gefällt, minimale Tweaks und praktische Tools wie zoxide, eza und sinnvolle Aliase. Gesamtkosten: 0 $/Monat, alles lokal.

Nächste Schritte:

Wenn du Starship mit Fish Shell statt Zsh nutzen willst, habe ich eine eigene Anleitung: Starship-Prompt mit Fish Shell einrichten. Sieh dir auch Fish Shell vs Zsh an, wenn du über einen Shell-Wechsel nachdenkst.

Und falls du dein Terminal für Tutorials oder Demos aufnimmst: Ich nutze Screen Studio für hochwertige macOS-Screenrecordings.

Den kompletten Ghostty-Guide lesen
#Zsh#Starship#Ghostty

Hat diese Anleitung bei dir funktioniert?

Brauchst du Hilfe bei Astro, VPS oder einer Self-hosted-App? Services ansehen →