Skip to content

Repository files navigation

Deutsch English Русский

vhstack termpp – Terminal, Nerd Font und Prompt

Version

CI

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 – der Prompt lebt: Git-Status, Fehler, Laufzeit

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 | bash

🪟 Teil 1: Windows Terminal (lokal)

Terminalwahl

Es 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:

Schriftart: Nerd Font mit Symbolunterstützung

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

Konfiguration von Windows Terminal

Die Anpassung erfolgt über die Datei settings.json:

  1. Öffne das Terminal
  2. Drücke Ctrl + , (oder über Menü)
  3. Klicke auf „Einstellungen (JSON-Datei öffnen)“
  4. 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/xssh

Bei 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

Tastenkürzel

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.


🐧 Teil 2: Prompt auf dem Remote-Server

True-Color-Unterstützung

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-256color

Mit 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 | bash

Das 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):
256 Farben Screenshot

True Color (24-bit Darstellung):
True Color Screenshot

Shell Prompt mit Oh My Posh

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.

Installation per Skript

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 | bash
curl -sL https://raw.githubusercontent.com/vhstack/termpp/main/install.sh | zsh

Das Skript übernimmt automatisch:

  • Installation von Oh My Posh (falls noch nicht vorhanden)
  • Kopieren des Themes vhstack.omp.json nach ~/.config/ohmyposh/
  • Ergänzen deiner ~/.bashrc oder ~/.zshrc mit der passenden Init-Zeile

Tipp: Nach der Installation einmal source ~/.bashrc oder source ~/.zshrc ausführen – oder das Terminal neu starten.

Manuelle Installation

Statt des Skripts kannst du die Schritte auch einzeln ausführen:

  1. Oh My Posh installieren (Details in der Linux-Installationsanleitung):

    curl -s https://ohmyposh.dev/install.sh | bash -s
  2. Das Theme vhstack.omp.json — oder ein beliebiges anderes nach deinem Geschmack — in das Verzeichnis ~/.config/ohmyposh kopieren:

    mkdir -p ~/.config/ohmyposh
    curl -L https://raw.githubusercontent.com/vhstack/termpp/main/vhstack.omp.json -o ~/.config/ohmyposh/vhstack.omp.json
  3. In ~/.bashrc oder ~/.zshrc ergänzen:

    eval "$(~/.local/bin/oh-my-posh init bash --config ~/.config/ohmyposh/vhstack.omp.json)"
  4. Die Shell-Konfiguration neu laden:

    . ~/.bashrc

Dein Shell-Prompt wird nun automatisch bei jeder Anmeldung (login) geladen.


📎 Nützliche Links


MIT-Lizenz · Teil von vhstack
Ausgenommen: die Schriftdateien in assets/fonts/ (Cascadia Code NF, © Microsoft) stehen unter der SIL Open Font License 1.1.

Releases

Packages

Contributors

Languages