Was ist kitty?
kitty ist ein GPU-basierter Terminal-Emulator für Leute, die ihren Tag im Terminal verbringen. Es rendert mit OpenGL, ein Build-Log oder eine Wand aus farbiger Ausgabe scrollt also flüssig, und es behandelt das Terminal als Plattform statt als Textfeld: Fenster und Tabs in Kachel-Layouts, ein Grafikprotokoll, das echte Bilder direkt in die Ausgabe zeichnet, ein Tastaturprotokoll, mit dem Programme shift+enter von enter unterscheiden können, klickbare Hyperlinks, Ligaturen und eine Shell-Integration, die weiß, wo jeder Prompt und jede Befehlsausgabe beginnt und endet. Neben dem Terminal kommt kitten, eine einzelne Begleit-Binärdatei mit den kleinen Werkzeugen, um die das Terminal gebaut ist: kitten icat zeigt ein Bild, kitten ssh nimmt deine terminfo und Shell-Integration auf einen entfernten Host mit, kitten diff ist ein Diff nebeneinander, der auch Bilder kann, kitten clipboard, kitten themes, und kitten @ steuert das Terminal selbst aus einem Skript. Geschrieben hat es Kovid Goyal, der Autor von calibre, und alles wird in einer einzigen kitty.conf konfiguriert.
kitten-Binärdatei, die Befehle kitten ssh und kitten icat aus der aktuellen Dokumentation existieren dort also gar nicht. Ein altes kitty ignoriert außerdem stillschweigend die kitty.conf-Optionen, die die aktuelle Dokumentation dir empfiehlt, und jedes neuere Kitten (choose-fonts, notify, quick-access-terminal, panel) fehlt schlicht. Das Terminal ist das eine Programm, das du den ganzen Tag benutzt; es sollte das aktuelle sein.
⚡ Hauptfunktionen von kitty
🎮 GPU-Rendering
kitty zeichnet mit OpenGL, überlässt die Glyphenarbeit der GPU und hält die CPU für das Programm frei, das du tatsächlich ausführst. Große Ausgaben scrollen mit der Bildwiederholrate des Displays, und das Terminal bleibt auch unter einer Flut von Text reaktionsschnell.
🪟 Fenster, Tabs und Layouts
Teile einen Tab in Fenster und lass ein Layout (tall, fat, grid, splits, stack) sie anordnen: ctrl+shift+enter öffnet ein Fenster, ctrl+shift+t einen Tab. Eine Session-Datei stellt einen ganzen Arbeitsbereich wieder her, jedes Fenster mit seinem Verzeichnis und seinem Befehl.
🖼️ Das Grafikprotokoll
Echte Bilder, keine Blockzeichen. kitten icat zeigt ein Bild direkt in der Ausgabe, und dasselbe Protokoll benutzen yazi, viu, Neovim-Bild-Plugins und matplotlib-Backends, wenn sie in deinem Terminal zeichnen.
🐈 Kittens
kitten ist eine einzige statische Binärdatei voller kleiner Werkzeuge: icat, ssh, diff, clipboard, themes, hints, um URLs, Pfade oder Hashes per Tastatur vom Bildschirm zu picken, unicode_input, transfer, um Dateien über eine ssh-Sitzung zu kopieren, und mehr.
🎛️ Fernsteuerung
Mit eingeschaltetem allow_remote_control steuert kitten @ das Terminal aus jedem Skript: Fenster öffnen, Text hineinschicken, Farben ändern, Größe anpassen, auflisten, was läuft. Skriptgesteuerte Layouts ohne Multiplexer dazwischen.
🐚 Shell-Integration
kitty weiß, wo jeder Prompt beginnt: mit ctrl+shift+z zwischen Prompts springen, die Ausgabe des letzten Befehls in einem Pager öffnen, per Klick den Cursor in der aktuellen Zeile bewegen, und neue Fenster öffnen sich im aktuellen Verzeichnis. bash, zsh und fish, geliefert von kitty-shell-integration.
apt upgrade hält dich auf der neuesten Version.
📦 Installation aus deb.griffo.io
Schritt 1: Repository hinzufügen
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 Es gibt einen für immer kostenlosen Spiegel. deb-free.griffo.io liefert Pakete für immer kostenlos — ohne Konto, ohne Abo, höchstens 2 Monate hinter Upstream, Sicherheitsfixes sofort. Derzeit enthält er cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud und Zed; kitty ist nicht dabei, deshalb führt heute nur das Repository oben dorthin — auf Anfrage kann es aufgenommen werden.
🧩 Zur extrepo-Option. extrepo ist Debians eigenes Werkzeug für externe Repositories: Es legt die Sources-Datei an und installiert den Signaturschlüssel für dich, nachdem es ihn gegen signierte Metadaten geprüft hat. Dieses Repository ist dort als griffo registriert, der für immer kostenlose Spiegel als griffo-free. Unter Debian (bookworm, trixie, forky und sid) sind die Befehle oben damit die gesamte Einrichtung.
extrepo richtet nur die Sources-Datei und den Schlüssel ein; die Zugangsdaten eines Abos gehören weiterhin in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu wird nicht abgedeckt, denn extrepo veröffentlicht Metadaten nur für Debian-Suites: dort nimmst du die Befehle mit sudo oder als root.
Schritt 2: kitty installieren
# Neuestes kitty installieren; kitty-terminfo und kitty-shell-integration kommen mit
sudo apt install kitty
# Optional, die HTML-Dokumentation unter /usr/share/doc/kitty/html
sudo apt install kitty-doc
# Installation prüfen, Terminal und Begleit-CLI
kitty --version
kitten --version# Neuestes kitty installieren; kitty-terminfo und kitty-shell-integration kommen mit
apt install kitty
# Optional, die HTML-Dokumentation unter /usr/share/doc/kitty/html
apt install kitty-doc
# Installation prüfen, Terminal und Begleit-CLI
kitty --version
kitten --versionSchritt 3: Der erste Start
# Ein kitty-Fenster öffnen
kitty
# kitty zum Standard-Terminal für x-terminal-emulator machen
sudo update-alternatives --config x-terminal-emulator
# Die Konfiguration ist ~/.config/kitty/kitty.conf: ctrl+shift+f2 öffnet sie
# in kitty, ctrl+shift+f5 lädt sie neu. Das hier zeigt die wirksame Konfiguration
kitty --debug-config
# Die mitgelieferten Farbthemen durchsehen und eines anwenden
kitten themes# Ein kitty-Fenster öffnen
kitty
# kitty zum Standard-Terminal für x-terminal-emulator machen
update-alternatives --config x-terminal-emulator
# Die Konfiguration ist ~/.config/kitty/kitty.conf: ctrl+shift+f2 öffnet sie
# in kitty, ctrl+shift+f5 lädt sie neu. Das hier zeigt die wirksame Konfiguration
kitty --debug-config
# Die mitgelieferten Farbthemen durchsehen und eines anwenden
kitten themes🎯 Grundlegende Verwendungsbeispiele
Starten:
# Ein Terminal
kitty
# Einen Befehl in einem neuen kitty-Fenster ausführen und es danach offen lassen
kitty --hold htop
# Jede kitty.conf-Option auf der Kommandozeile überschreiben
kitty -o font_size=14 -o background_opacity=0.9
# In einem Verzeichnis starten
kitty --directory ~/src
# Einen ganzen Arbeitsbereich aus einer Session-Datei wiederherstellen
kitty --session ~/.config/kitty/work.session
# Was ist installiert?
kitty --versionDie Kittens:
# Ein Bild direkt im Terminal anzeigen
kitten icat photo.png
# ssh mit terminfo und Shell-Integration im Gepäck
kitten ssh user@server
# Diff nebeneinander, Bilder inklusive
kitten diff old.txt new.txt
# In die Zwischenablage kopieren und daraus lesen
echo hello | kitten clipboard
kitten clipboard --get-clipboard
# Ein Thema auf alle laufenden kitty-Fenster anwenden
kitten themes --reload-in=all Catppuccin-Mocha
# Eine Schrift interaktiv auswählen
kitten choose-fontsFernsteuerung:
# allow_remote_control yes in die kitty.conf, dann aus jeder Shell,
# die in kitty läuft: ein neues Fenster rechts neben diesem öffnen
kitten @ launch --location=vsplit --cwd=current
# Einen Befehl in ein anderes Fenster tippen, ausgewählt über den Titel
kitten @ send-text --match title:logs "tail -f /var/log/syslog\n"
# Farben im laufenden Betrieb ändern
kitten @ set-colors background=#1e1e2e
# Was gerade offen ist
kitten @ ls🔧 Werkzeug-Integrationen
kitty ist das Terminal unter allem anderen, bei der Integration geht es also vor allem darum, was darin läuft:
- Entfernte Server: kitty setzt
TERM=xterm-kitty, und ein Host ohne diese terminfo beschert dir eine kaputte Rücktaste und Beschwerden vonlessundclear.kitten sshkopiert sie für dich hinüber; für die Hosts, die du mit schlichtemssherreichst, installierst du dortkitty-terminfo, ein architekturunabhängiges Paket, das nichts als den terminfo-Eintrag enthält und nichts weiter nachzieht - Deine Shell:
kitty-shell-integrationliefert die Hooks für bash, zsh und fish unter/usr/share/kitty/shell-integration, undshell_integration enabledin derkitty.conf, die Vorgabe, schaltet sie ein, ohne deine rc-Dateien anzufassen - yazi, viu und Neovim: alle drei zeichnen Bilder über das kitty-Grafikprotokoll, und Neovim spricht das kitty-Tastaturprotokoll von Haus aus, das ist also das Terminal, in dem sie getestet wurden
- Zellij und tmux: kittys eigene Fenster, Tabs und Layouts decken das meiste ab, was ein lokaler Multiplexer tut; greif zu Zellij, wenn eine Sitzung das Fenster überleben muss, und gib tmux
extended-keysund Passthrough, damit die kitty-Protokolle die Reise überstehen - Dein Desktop: das Paket installiert Desktop-Eintrag, Icons und Manpages und registriert die
x-terminal-emulator-Alternative, kitty taucht also in deinem Starter auf, und einupdate-alternatives-Aufruf macht es zum Systemstandard
🚀 Warum deb.griffo.io?
- Offizielles Debian: liefert kitty 0.41.1 in trixie und 0.26.5 in Bookworm, jeweils eingefroren für die Lebensdauer des Releases
- Der Upstream-Installer: ein
curl | shnach~/.local/kitty.app, aktuell, aber pro Benutzer, ohne Desktop-Eintrag, Manpages oderx-terminal-emulator, wenn du sie nicht selbst verdrahtest, und aktualisiert wird, indem du den Installer erneut ausführst - Selbst aus dem Quelltext bauen: Python, Go, eine lange Liste von
-dev-Paketen und eine gute Weile, für eine Binärdatei, von der apt nichts weiß - deb.griffo.io: neueste Version mit automatischen Updates
- ✅ Dieselben Paketnamen wie Debian:
kitty,kitty-terminfo,kitty-shell-integrationundkitty-doc, genau so, wie das Debian-Archiv sie nennt, dieses Repository aktualisiert das mitgelieferte kitty also an Ort und Stelle, und ein späteresapt removelässt nichts zurück - ✅ Der offizielle Build: das vorgebaute Upstream-Bundle, dieselben Bits wie kittys eigener Installer, abgelegt unter
/opt/kittymit Symlinks/usr/bin/kittyund/usr/bin/kitten; kein Quelltext-Build, keine Patches - ✅ Sauber integriert: Desktop-Eintrag, Icons, Manpages, terminfo und Shell-Integration an den üblichen Debian-Pfaden, und die
x-terminal-emulator-Alternative ist registriert - ✅ kitty-terminfo reist allein: ein architekturunabhängiges Paket mit nichts als der
xterm-kitty-terminfo, für die Server, auf die du dich per ssh verbindest - ✅ Automatische Updates: Pakete werden innerhalb von Stunden nach dem Upstream-Release aktualisiert
- ✅ Zwei Architekturen: amd64 und arm64, die beiden, für die upstream Bundles veröffentlicht; einen Build für i386, armhf oder riscv64 gibt es nicht
- ✅ Multi-Distribution: läuft auf Bookworm, Trixie, Forky und Sid
- ✅ Einfache Wartung: Updates mit den üblichen apt-Befehlen
📦 Paket-Build-Repository
Die Debian-Pakete werden in diesem GitHub-Repository automatisch gebaut und gepflegt:
- 🐱 kitty-debian - Builds der neuesten Releases
🔗 Verwandte Pakete
Ebenfalls verfügbar über deb.griffo.io:
- Ghostty - Das andere GPU-Terminal hier, mit nativer GTK-Oberfläche und anderen Kompromissen
- Zellij - Ein Workspace-Multiplexer für die Sitzungen, die ein Fenster überleben sollen
- Yazi Dateimanager - Zeichnet seine Vorschauen über kittys Grafikprotokoll
- viu Bildbetrachter - Ein Bildbetrachter fürs Terminal, der ebenfalls das kitty-Grafikprotokoll spricht
- Neovim - Bild-Plugins und das kitty-Tastaturprotokoll funktionieren in diesem Terminal ohne weiteres Zutun