Qu'est-ce que kitty ?
kitty est un émulateur de terminal basé sur le GPU, pour ceux qui y passent leurs journées. Il rend avec OpenGL, donc un journal de compilation ou un mur de sortie colorée défile sans à-coups, et il traite le terminal comme une plateforme plutôt que comme une boîte de texte : des fenêtres et des onglets disposés par des agencements en mosaïque, un protocole graphique qui dessine de vraies images dans le flux, un protocole clavier qui permet aux programmes de distinguer shift+enter de enter, des hyperliens cliquables, des ligatures, et une intégration au shell qui sait où commence et où finit chaque invite et la sortie de chaque commande. À côté du terminal vient kitten, un unique exécutable compagnon qui réunit les petits outils autour desquels le terminal est construit : kitten icat affiche une image, kitten ssh emporte votre terminfo et votre intégration shell sur un hôte distant, kitten diff est un diff côte à côte qui gère aussi les images, kitten clipboard, kitten themes, et kitten @ pilote le terminal lui-même depuis un script. Il est écrit par Kovid Goyal, l'auteur de calibre, et tout se configure dans un seul kitty.conf.
kitten autonome, si bien que les commandes kitten ssh et kitten icat de la documentation actuelle n'y existent tout simplement pas. Un vieux kitty ignore aussi en silence les options de kitty.conf que la documentation actuelle vous dit de régler, et chaque kitten récent (choose-fonts, notify, quick-access-terminal, panel) manque purement et simplement. Le terminal est le seul programme que vous utilisez toute la journée ; il devrait être à jour.
⚡ Fonctionnalités clés de kitty
🎮 Rendu par le GPU
kitty dessine avec OpenGL, confie le travail des glyphes au GPU et garde le CPU pour le programme que vous exécutez vraiment. Les grosses sorties défilent à la fréquence de rafraîchissement de l'écran et le terminal reste réactif sous un déluge de texte.
🪟 Fenêtres, onglets et agencements
Découpez un onglet en fenêtres et laissez un agencement (tall, fat, grid, splits, stack) les ranger : ctrl+shift+enter ouvre une fenêtre, ctrl+shift+t un onglet. Un fichier de session recrée tout un espace de travail, chaque fenêtre avec son répertoire et sa commande.
🖼️ Le protocole graphique
De vraies images, pas des caractères en blocs. kitten icat affiche une image dans le flux, et ce même protocole est celui qu'utilisent yazi, viu, les plugins d'images de Neovim et les backends matplotlib quand ils dessinent dans votre terminal.
🐈 Kittens
kitten est un unique exécutable statique rempli de petits outils : icat, ssh, diff, clipboard, themes, hints pour attraper au clavier des URL, des chemins ou des hachages affichés à l'écran, unicode_input, transfer pour copier des fichiers à travers une session ssh, et d'autres encore.
🎛️ Contrôle à distance
Avec allow_remote_control activé, kitten @ pilote le terminal depuis n'importe quel script : ouvrir des fenêtres, leur envoyer du texte, changer les couleurs, redimensionner, lister ce qui tourne. Des agencements scriptés sans multiplexeur entre les deux.
🐚 Intégration au shell
kitty sait où commence chaque invite : sautez d'une invite à l'autre avec ctrl+shift+z, ouvrez la sortie de la dernière commande dans un pager, cliquez pour déplacer le curseur dans la ligne courante, et faites s'ouvrir les nouvelles fenêtres dans le répertoire courant. bash, zsh et fish, fournis par kitty-shell-integration.
apt upgrade vous garde sur la dernière version.
📦 Installation depuis deb.griffo.io
Étape 1 : ajouter le dépôt
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 update🆓 Il existe un miroir gratuit pour toujours. deb-free.griffo.io distribue des paquets gratuitement pour toujours — sans compte, sans abonnement, au plus 2 mois derrière l'upstream, correctifs de sécurité immédiats. Il contient aujourd'hui cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud et Zed ; kitty n'en fait pas partie, le dépôt ci-dessus reste donc le seul moyen de l'installer — demandez-le et il pourra y être ajouté.
Étape 2 : installer kitty
# Installer le dernier kitty ; kitty-terminfo et kitty-shell-integration viennent avec
sudo apt install kitty
# Facultatif, la documentation HTML sous /usr/share/doc/kitty/html
sudo apt install kitty-doc
# Vérifier l'installation, le terminal et la CLI compagnon
kitty --version
kitten --version# Installer le dernier kitty ; kitty-terminfo et kitty-shell-integration viennent avec
apt install kitty
# Facultatif, la documentation HTML sous /usr/share/doc/kitty/html
apt install kitty-doc
# Vérifier l'installation, le terminal et la CLI compagnon
kitty --version
kitten --versionÉtape 3 : premier lancement
# Ouvrir une fenêtre kitty
kitty
# Faire de kitty le terminal par défaut pour x-terminal-emulator
sudo update-alternatives --config x-terminal-emulator
# La configuration est ~/.config/kitty/kitty.conf : ctrl+shift+f2 l'ouvre
# dans kitty, ctrl+shift+f5 la recharge. Ceci affiche la configuration effective
kitty --debug-config
# Parcourir les thèmes de couleurs fournis et en appliquer un
kitten themes# Ouvrir une fenêtre kitty
kitty
# Faire de kitty le terminal par défaut pour x-terminal-emulator
update-alternatives --config x-terminal-emulator
# La configuration est ~/.config/kitty/kitty.conf : ctrl+shift+f2 l'ouvre
# dans kitty, ctrl+shift+f5 la recharge. Ceci affiche la configuration effective
kitty --debug-config
# Parcourir les thèmes de couleurs fournis et en appliquer un
kitten themes🎯 Exemples d'utilisation de base
Le lancer :
# Un terminal
kitty
# Lancer une commande dans une nouvelle fenêtre kitty et la garder ouverte ensuite
kitty --hold htop
# Surcharger n'importe quelle option de kitty.conf en ligne de commande
kitty -o font_size=14 -o background_opacity=0.9
# Démarrer dans un répertoire
kitty --directory ~/src
# Restaurer tout un espace de travail depuis un fichier de session
kitty --session ~/.config/kitty/work.session
# Quelle version est installée ?
kitty --versionLes kittens :
# Afficher une image directement dans le terminal
kitten icat photo.png
# ssh en emportant terminfo et intégration shell
kitten ssh user@server
# Diff côte à côte, images comprises
kitten diff old.txt new.txt
# Copier vers le presse-papiers du système et y lire
echo hello | kitten clipboard
kitten clipboard --get-clipboard
# Appliquer un thème à toutes les fenêtres kitty ouvertes
kitten themes --reload-in=all Catppuccin-Mocha
# Choisir une police de manière interactive
kitten choose-fontsContrôle à distance :
# Mettez allow_remote_control yes dans kitty.conf, puis depuis n'importe
# quel shell lancé dans kitty : ouvrir une nouvelle fenêtre à droite de celle-ci
kitten @ launch --location=vsplit --cwd=current
# Taper une commande dans une autre fenêtre, choisie par son titre
kitten @ send-text --match title:logs "tail -f /var/log/syslog\n"
# Changer les couleurs à la volée
kitten @ set-colors background=#1e1e2e
# Ce qui est ouvert en ce moment
kitten @ ls🔧 Intégrations
kitty est le terminal sous tout le reste, donc l'intégration concerne surtout ce qui tourne dedans :
- Serveurs distants : kitty positionne
TERM=xterm-kitty, et un hôte sans ce terminfo vous laisse un retour arrière cassé et des plaintes delessetclear.kitten sshle copie pour vous ; pour les hôtes que vous atteignez avec un simplessh, installez-ykitty-terminfo, un paquet indépendant de l'architecture qui ne contient que l'entrée terminfo et n'entraîne rien d'autre - Votre shell :
kitty-shell-integrationfournit les hooks bash, zsh et fish sous/usr/share/kitty/shell-integration, etshell_integration enableddanskitty.conf, la valeur par défaut, les active sans toucher à vos fichiers rc - yazi, viu et Neovim : tous trois dessinent les images par le protocole graphique de kitty, et Neovim parle nativement le protocole clavier de kitty : c'est le terminal dans lequel ils ont été testés
- Zellij et tmux : les fenêtres, onglets et agencements de kitty couvrent l'essentiel de ce que fait un multiplexeur local ; passez à Zellij quand une session doit survivre à la fenêtre, et donnez à tmux
extended-keyset le passthrough pour que les protocoles de kitty survivent au trajet - Votre bureau : le paquet installe l'entrée de bureau, les icônes et les pages de manuel et enregistre l'alternative
x-terminal-emulator, donc kitty apparaît dans votre lanceur et un appel àupdate-alternativesen fait le terminal par défaut du système
🚀 Pourquoi choisir deb.griffo.io ?
- Ubuntu officiel : fournit kitty 0.45.0 dans 26.04, 0.32.2 dans Noble et 0.21.2 dans Jammy, chacun gelé pour toute la vie de sa version
- L'installateur upstream : un
curl | shvers~/.local/kitty.app, à jour, mais par utilisateur, sans entrée de bureau, pages de manuel nix-terminal-emulatorà moins de les câbler vous-même, et mis à jour en relançant l'installateur - Compiler depuis les sources : Python, Go, une longue liste de paquets
-devet un bon moment, pour un binaire dont apt ignore tout - deb.griffo.io: dernière version avec mises à jour automatiques
- ✅ Les mêmes noms de paquets qu'Ubuntu :
kitty,kitty-terminfo,kitty-shell-integrationetkitty-doc, exactement comme l'archive Ubuntu les nomme, donc ce dépôt met à jour le kitty d'origine sur place et unapt removeultérieur ne laisse rien derrière - ✅ La construction officielle : le bundle précompilé upstream, les mêmes octets que l'installateur de kitty, placé sous
/opt/kittyavec les liens/usr/bin/kittyet/usr/bin/kitten; pas de compilation, pas de rustine - ✅ Bien intégré : entrée de bureau, icônes, pages de manuel, terminfo et intégration shell aux emplacements Debian standard, et l'alternative
x-terminal-emulatorenregistrée - ✅ kitty-terminfo voyage seul : un paquet indépendant de l'architecture qui ne contient que le terminfo
xterm-kitty, pour les serveurs où vous vous connectez en ssh - ✅ Mises à jour automatiques : les paquets sont mis à jour quelques heures après chaque version upstream
- ✅ Deux architectures : amd64 et arm64, les deux pour lesquelles upstream publie des bundles ; pas de construction i386, armhf ni riscv64
- ✅ Multi-distribution : fonctionne sur Ubuntu 22.04, 24.04, 25.10 et 26.04
- ✅ Maintenance simple : des mises à jour avec les commandes apt habituelles
📦 Dépôt de construction du paquet
Les paquets Ubuntu sont construits et maintenus automatiquement dans ce dépôt GitHub :
- 🐱 kitty-debian - Constructions des dernières versions
🔗 Paquets associés
Également disponibles sur deb.griffo.io :
- Ghostty - L'autre terminal GPU d'ici, avec une interface GTK native et d'autres compromis
- Zellij - Un multiplexeur d'espaces de travail pour les sessions qui doivent survivre à une fenêtre
- Yazi File Manager - Dessine ses aperçus par le protocole graphique de kitty
- viu Image Viewer - Une visionneuse d'images en terminal qui parle aussi le protocole graphique de kitty
- Neovim - Les plugins d'images et le protocole clavier de kitty fonctionnent d'emblée dans ce terminal