Diese Anleitung beschreibt, wie du dir eine moderne, performante und optisch ansprechende Terminal-Umgebung unter Windows aufbaust. Sie besteht aus:
- Windows Terminal
- einer Nerd Font (z. B. Cascadia Code NF)
- einem modernen Bash Prompt via Oh My Posh
Die Anleitung gliedert sich in zwei Teile: Teil 1 richtet das Terminal lokal unter Windows ein, Teil 2 den Prompt auf dem Remote-Server.
termpp gehört zu vhstack. Dort richtet ein Befehl Prompt, Tmux und Neovim zusammen ein:
curl -sL https://raw.githubusercontent.com/vhstack/vhstack/main/install.sh | bashEs gibt viele Terminal-Optionen unter Windows. Nach zahlreichen Tests habe ich mich für Windows Terminal entschieden – es ist:
- schnell
- modern
- flexibel konfigurierbar
- schlank
Windows Terminal ist kostenlos im Microsoft Store erhältlich; wer neue Funktionen früher haben möchte, nimmt die Preview:
Damit Icons, Git-Symbole und hübsche Prompt-Elemente korrekt angezeigt werden, brauchst du eine Nerd Font. Ich empfehle Cascadia Code NF:
- Klare Lesbarkeit
- Schönes Design
- Unterstützt Ligaturen
- Perfekt für Entwicklerterminals
Beide Variable Fonts (Regular und Italic) liegen unverändert in
assets/fonts/, übernommen aus dem Microsoft-Release
v2407.24.
Zur Installation die beiden .ttf-Dateien herunterladen, per Rechtsklick
„Installieren" wählen oder nach %LOCALAPPDATA%\Microsoft\Windows\Fonts
kopieren. Die Schrift steht unter der SIL Open Font License 1.1, siehe
assets/fonts/README.md.
Nach der Installation kann die Schriftart in Windows Terminal (z. B. via
settings.json) als Standard gesetzt werden.
Ligaturen-Beispiele:
| Eingabe | Darstellung (Ligatur) |
|---|---|
-> |
→ |
=> |
⇒ |
!= |
≠ |
== |
═ |
=== |
≡ |
<= |
≤ |
Alternativ kannst du einen Nerd Font installieren, der deinen persönlichen Vorlieben entspricht: nerdfonts.com
Die Anpassung erfolgt über die Datei settings.json:
- Öffne das Terminal
- Drücke
Ctrl + ,(oder über Menü) - Klicke auf „Einstellungen (JSON-Datei öffnen)“
- Ersetze oder ergänze den Inhalt mit deiner Konfiguration
Eine passende Vorlage liegt in diesem Repository: settings.json
Passendes Hintergrundbild: assets/vhstack_bg.jpg – in
settings.json via "backgroundImage" einbinden (Startwert: "backgroundImageOpacity": 0.95).
Du kannst in der settings.json Datei von Windows Terminal eigene SSH-Profile unter
profiles.list[] definieren, mit denen du dich entweder per Public-Key oder Passwort
auf entfernte Server verbinden kannst.
{
"commandline": "ssh benutzername@serveradresse",
"hidden": false,
"icon": "\ud83d\udda5",
"name": "Mein SSH Server"
}Falls du einen spezifischen SSH-Schlüssel verwenden möchtest, kannst du diesen in der Konfiguration angeben:
"commandline": "ssh -i ~/.ssh/id_ed25519 benutzername@serveradresse"Einen neuen SSH-Schlüssel erzeugst du mit folgendem Befehl:
ssh-keygen -t ed25519 -C "dein-kommentar"Grafische Programme vom Remote-Server (X11 über WSLg): WSL2 bringt mit WSLg einen eigenen X-Server mit — ein zusätzlicher X-Server unter Windows ist nicht mehr nötig. Die SSH-Verbindung wird dazu aus WSL heraus aufgebaut; X-Programme des Servers erscheinen als normale Windows-Fenster:
"commandline": "wsl.exe -- ssh -X -i ~/.ssh/id_ed25519 benutzername@serveradresse"Voraussetzungen: aktuelles WSL (wsl --update); auf dem Server xauth
installiert und X11Forwarding yes (bei Debian/Ubuntu der Default).
Ältere X-Anwendungen (z. B. altes Qt/Motif), deren Dialoge und Popups
unter WSLg falsch positioniert werden, brauchen einen klassischen X-Screen
mit Window-Manager. Das übernimmt das Skript xssh
(Xephyr + openbox). Einmalig in WSL installieren:
sudo apt install xserver-xephyr openbox x11-utils
curl -sL https://raw.githubusercontent.com/vhstack/termpp/main/xssh -o ~/.local/bin/xssh && chmod +x ~/.local/bin/xsshBei Bedarf in einer WSL-Shell aufrufen — Parameter wie bei ssh. Das
Xephyr-Fenster öffnet sich beim ersten Aufruf, nimmt alle X-Fenster der
Sitzung auf und schließt sich automatisch, wenn die letzte Sitzung endet:
xssh benutzername@serveradresse| Tastenkombination | Funktion |
|---|---|
Shift + ← / → |
Wechsel zwischen Windows Terminal Tabs |
Alt + ← / → |
Wechsel zwischen Tmux-Fenstern |
Ctrl + ← / → |
Wechsel zwischen Neovim-Buffern |
Shift + Enter |
Zeilenumbruch statt Absenden |
Diese Einstellungen und das Farbschema sind auf meine Konfigurationen von Neovim und Tmux abgestimmt.
Stelle sicher, dass die Umgebungsvariable TERM auf xterm-256color gesetzt ist.
Füge dazu z. B. in .bashrc, .zshrc oder .profile folgende Zeile ein:
export TERM=xterm-256colorMit dem Shellscript truecolor-test.sh kannst du prüfen, ob dein Terminal echte 24-Bit-Farben korrekt darstellt.
Einfach ausführen:
curl -sL https://raw.githubusercontent.com/vhstack/termpp/main/truecolor-test.sh | bashDas Skript erzeugt einen weichen Farbverlauf. Falls dein Terminal nur 256 Farben unterstützt, erscheinen sichtbare Farbstufen – bei echtem True Color ist der Verlauf glatt.
256 Farben (xterm-256color mit 8-bit Fallback):

True Color (24-bit Darstellung):

Ein informatives, modernes Bash Prompt ist Gold wert. Mit Oh My Posh erhältst du:
- Git-Branch-Anzeige
- Exit-Code-Darstellung
- visuelle Trennung durch Icons und Farben
Wichtig: Die Einrichtung erfolgt nur auf dem Remote-Server unter Bash, nicht lokal.
Das vhstack-Prompt-Theme installierst du automatisch mit dem Skript
install.sh — direkt im Terminal ausführen
(Bash oder Zsh):
curl -sL https://raw.githubusercontent.com/vhstack/termpp/main/install.sh | bashcurl -sL https://raw.githubusercontent.com/vhstack/termpp/main/install.sh | zshDas Skript übernimmt automatisch:
- Installation von Oh My Posh (falls noch nicht vorhanden)
- Kopieren des Themes
vhstack.omp.jsonnach~/.config/ohmyposh/ - Ergänzen deiner
~/.bashrcoder~/.zshrcmit der passenden Init-Zeile
Tipp: Nach der Installation einmal
source ~/.bashrcodersource ~/.zshrcausführen – oder das Terminal neu starten.
Statt des Skripts kannst du die Schritte auch einzeln ausführen:
-
Oh My Posh installieren (Details in der Linux-Installationsanleitung):
curl -s https://ohmyposh.dev/install.sh | bash -s -
Das Theme
vhstack.omp.json— oder ein beliebiges anderes nach deinem Geschmack — in das Verzeichnis~/.config/ohmyposhkopieren:mkdir -p ~/.config/ohmyposh curl -L https://raw.githubusercontent.com/vhstack/termpp/main/vhstack.omp.json -o ~/.config/ohmyposh/vhstack.omp.json
-
In
~/.bashrcoder~/.zshrcergänzen:eval "$(~/.local/bin/oh-my-posh init bash --config ~/.config/ohmyposh/vhstack.omp.json)"
-
Die Shell-Konfiguration neu laden:
. ~/.bashrc
Dein Shell-Prompt wird nun automatisch bei jeder Anmeldung (login) geladen.
- Windows Terminal GitHub
- Microsoft Cascadia Font
- Nerd Fonts Übersicht
- WSLg (GUI-Apps unter WSL)
- Oh My Posh Dokumentation
MIT-Lizenz · Teil von vhstack
Ausgenommen: die Schriftdateien in assets/fonts/ (Cascadia Code NF, © Microsoft) stehen unter der SIL Open Font License 1.1.
