¿Qué es kitty?
kitty es un emulador de terminal basado en GPU para quien pasa el día dentro de uno. Renderiza con OpenGL, así que un log de compilación o una pared de salida en color se desplaza con fluidez, y trata la terminal como una plataforma y no como una caja de texto: ventanas y pestañas organizadas por layouts en mosaico, un protocolo gráfico que dibuja imágenes reales en línea, un protocolo de teclado que permite a los programas distinguir shift+enter de enter, hipervínculos clicables, ligaduras y una integración con la shell que sabe dónde empieza y termina cada prompt y la salida de cada comando. Junto a la terminal viene kitten, un único ejecutable acompañante con las pequeñas herramientas alrededor de las cuales está construida: kitten icat muestra una imagen, kitten ssh lleva tu terminfo y tu integración de shell a un host remoto, kitten diff es un diff lado a lado que también entiende imágenes, kitten clipboard, kitten themes, y kitten @ maneja la propia terminal desde un script. Lo escribe Kovid Goyal, el autor de calibre, y todo se configura en un solo kitty.conf.
kitten independiente, así que los comandos kitten ssh y kitten icat de la documentación actual directamente no existen allí. Un kitty viejo además ignora en silencio las opciones de kitty.conf que la documentación actual te dice que pongas, y todos los kittens nuevos (choose-fonts, notify, quick-access-terminal, panel) sencillamente faltan. La terminal es el único programa que usas todo el día; debería ser el actual.
⚡ Funciones clave de kitty
🎮 Renderizado por GPU
kitty dibuja con OpenGL, delega el trabajo de los glifos en la GPU y deja la CPU para el programa que de verdad estás ejecutando. Las salidas grandes se desplazan a la frecuencia de refresco de la pantalla y la terminal sigue respondiendo bajo una avalancha de texto.
🪟 Ventanas, pestañas y layouts
Divide una pestaña en ventanas y deja que un layout (tall, fat, grid, splits, stack) las coloque: ctrl+shift+enter abre una ventana, ctrl+shift+t una pestaña. Un archivo de sesión recrea un espacio de trabajo entero, cada ventana con su directorio y su comando.
🖼️ El protocolo gráfico
Imágenes de verdad, no caracteres de bloque. kitten icat muestra una imagen en línea, y ese mismo protocolo es el que usan yazi, viu, los plugins de imágenes de Neovim y los backends de matplotlib cuando dibujan en tu terminal.
🐈 Kittens
kitten es un único ejecutable estático lleno de herramientas pequeñas: icat, ssh, diff, clipboard, themes, hints para escoger URLs, rutas o hashes de la pantalla con el teclado, unicode_input, transfer para copiar archivos a través de una sesión ssh, y más.
🎛️ Control remoto
Con allow_remote_control activado, kitten @ maneja la terminal desde cualquier script: abrir ventanas, enviarles texto, cambiar colores, redimensionar, listar lo que corre. Layouts por script sin un multiplexor de por medio.
🐚 Integración con la shell
kitty sabe dónde empieza cada prompt: salta entre prompts con ctrl+shift+z, abre la salida del último comando en un paginador, haz clic para mover el cursor dentro de la línea actual y que las ventanas nuevas se abran en el directorio actual. bash, zsh y fish, incluidos en kitty-shell-integration.
apt upgrade te mantiene en la última versión.
📦 Instalación desde deb.griffo.io
Paso 1: Añadir el repositorio
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🆓 Existe un espejo gratis para siempre. deb-free.griffo.io sirve paquetes gratis para siempre: sin cuenta, sin suscripción, como máximo 2 meses por detrás del upstream, correcciones de seguridad inmediatas. Ahora mismo incluye cliamp, Ghostty, lazydocker, Oh My Posh, Uncloud y Zed; kitty no está entre ellas, así que hoy el repositorio de arriba es la única forma de instalarlo — pídelo y puede añadirse.
Paso 2: Instalar kitty
# Instalar la última versión de kitty; kitty-terminfo y kitty-shell-integration vienen con él
sudo apt install kitty
# Opcional, la documentación HTML en /usr/share/doc/kitty/html
sudo apt install kitty-doc
# Verificar la instalación, la terminal y la CLI acompañante
kitty --version
kitten --version# Instalar la última versión de kitty; kitty-terminfo y kitty-shell-integration vienen con él
apt install kitty
# Opcional, la documentación HTML en /usr/share/doc/kitty/html
apt install kitty-doc
# Verificar la instalación, la terminal y la CLI acompañante
kitty --version
kitten --versionPaso 3: Primer arranque
# Abrir una ventana de kitty
kitty
# Hacer de kitty la terminal por defecto para x-terminal-emulator
sudo update-alternatives --config x-terminal-emulator
# La configuración es ~/.config/kitty/kitty.conf: ctrl+shift+f2 la abre
# dentro de kitty, ctrl+shift+f5 la recarga. Esto imprime la efectiva
kitty --debug-config
# Recorrer los temas de color incluidos y aplicar uno
kitten themes# Abrir una ventana de kitty
kitty
# Hacer de kitty la terminal por defecto para x-terminal-emulator
update-alternatives --config x-terminal-emulator
# La configuración es ~/.config/kitty/kitty.conf: ctrl+shift+f2 la abre
# dentro de kitty, ctrl+shift+f5 la recarga. Esto imprime la efectiva
kitty --debug-config
# Recorrer los temas de color incluidos y aplicar uno
kitten themes🎯 Ejemplos básicos de uso
Arrancarlo:
# Una terminal
kitty
# Ejecutar un comando en una ventana nueva de kitty y dejarla abierta después
kitty --hold htop
# Sobrescribir cualquier opción de kitty.conf desde la línea de comandos
kitty -o font_size=14 -o background_opacity=0.9
# Arrancar en un directorio
kitty --directory ~/src
# Restaurar un espacio de trabajo entero desde un archivo de sesión
kitty --session ~/.config/kitty/work.session
# ¿Qué versión hay instalada?
kitty --versionLos kittens:
# Mostrar una imagen directamente en la terminal
kitten icat photo.png
# ssh llevando contigo terminfo e integración de shell
kitten ssh user@server
# Diff lado a lado, imágenes incluidas
kitten diff old.txt new.txt
# Copiar al portapapeles del sistema y leer de él
echo hello | kitten clipboard
kitten clipboard --get-clipboard
# Aplicar un tema a todas las ventanas de kitty abiertas
kitten themes --reload-in=all Catppuccin-Mocha
# Elegir una fuente de forma interactiva
kitten choose-fontsControl remoto:
# Pon allow_remote_control yes en kitty.conf y, desde cualquier shell
# que corra dentro de kitty: abrir una ventana nueva a la derecha de esta
kitten @ launch --location=vsplit --cwd=current
# Teclear un comando en otra ventana, elegida por su título
kitten @ send-text --match title:logs "tail -f /var/log/syslog\n"
# Cambiar los colores al vuelo
kitten @ set-colors background=#1e1e2e
# Qué hay abierto ahora mismo
kitten @ ls🔧 Integraciones
kitty es la terminal que hay debajo de todo lo demás, así que la integración va sobre todo de lo que corre dentro:
- Servidores remotos: kitty pone
TERM=xterm-kitty, y un host sin ese terminfo te deja un retroceso roto y quejas delessyclear.kitten sshlo copia por ti; para los hosts a los que llegas con unsshnormal, instala allíkitty-terminfo, un paquete independiente de la arquitectura que solo contiene la entrada de terminfo y no arrastra nada más - Tu shell:
kitty-shell-integrationincluye los hooks de bash, zsh y fish en/usr/share/kitty/shell-integration, yshell_integration enabledenkitty.conf, el valor por defecto, los activa sin tocar tus archivos rc - yazi, viu y Neovim: los tres dibujan imágenes mediante el protocolo gráfico de kitty, y Neovim habla el protocolo de teclado de kitty de forma nativa, así que esta es la terminal en la que se probaron
- Zellij y tmux: las ventanas, pestañas y layouts de kitty cubren casi todo lo que hace un multiplexor local; recurre a Zellij cuando una sesión deba sobrevivir a la ventana, y dale a tmux
extended-keysy passthrough para que los protocolos de kitty aguanten el viaje - Tu escritorio: el paquete instala la entrada de escritorio, los iconos y las páginas man y registra la alternativa
x-terminal-emulator, así que kitty aparece en tu lanzador y una llamada aupdate-alternativeslo convierte en el predeterminado del sistema
🚀 ¿Por qué elegir deb.griffo.io?
- Ubuntu oficial: trae kitty 0.45.0 en 26.04, 0.32.2 en Noble y 0.21.2 en Jammy, cada uno congelado durante toda la vida de su versión
- El instalador upstream: un
curl | shhacia~/.local/kitty.app, actualizado, pero por usuario, sin entrada de escritorio, páginas man nix-terminal-emulatora menos que los conectes tú, y se actualiza volviendo a ejecutar el instalador - Compilar desde el código: Python, Go, una larga lista de paquetes
-devy un buen rato, para un binario del que apt no sabe nada - deb.griffo.io: última versión con actualizaciones automáticas
- ✅ Los mismos nombres de paquete que Ubuntu:
kitty,kitty-terminfo,kitty-shell-integrationykitty-doc, exactamente como los llama el archivo de Ubuntu, así que este repositorio actualiza el kitty de serie en el sitio y unapt removeposterior no deja nada atrás - ✅ La compilación oficial: el bundle precompilado upstream, los mismos bits que el instalador de kitty, colocado en
/opt/kittycon enlaces/usr/bin/kittyy/usr/bin/kitten; sin compilar desde el código ni parches - ✅ Bien integrado: entrada de escritorio, iconos, páginas man, terminfo e integración de shell en las rutas estándar de Debian, y la alternativa
x-terminal-emulatorregistrada - ✅ kitty-terminfo viaja solo: un paquete independiente de la arquitectura con nada más que el terminfo
xterm-kitty, para los servidores a los que entras por ssh - ✅ Actualizaciones automáticas: los paquetes se actualizan pocas horas después de cada versión upstream
- ✅ Dos arquitecturas: amd64 y arm64, las dos para las que upstream publica bundles; no hay compilación para i386, armhf ni riscv64
- ✅ Multidistribución: funciona en Ubuntu 22.04, 24.04, 25.10 y 26.04
- ✅ Mantenimiento sencillo: actualizaciones con los comandos apt de siempre
📦 Repositorio de compilación del paquete
Los paquetes de Ubuntu se compilan y mantienen automáticamente en este repositorio de GitHub:
- 🐱 kitty-debian - Compilaciones de las últimas versiones
🔗 Paquetes relacionados
También disponibles en deb.griffo.io:
- Ghostty - La otra terminal por GPU de aquí, con interfaz GTK nativa y otro reparto de compromisos
- Zellij - Un multiplexor de espacios de trabajo para las sesiones que deben sobrevivir a una ventana
- Yazi File Manager - Dibuja sus vistas previas mediante el protocolo gráfico de kitty
- viu Image Viewer - Un visor de imágenes de terminal que también habla el protocolo gráfico de kitty
- Neovim - Los plugins de imágenes y el protocolo de teclado de kitty funcionan sin configurar nada en esta terminal