Estado de los emuladores de terminal en 2025: campeones errantes
(jeffquast.com)- Se presentan los resultados de la evaluación de 2025 que compara los principales emuladores de terminal según la precisión del soporte de Unicode y el rendimiento
- Ghostty es una terminal nueva desarrollada en Zig, obtuvo la puntuación más alta e implementa un manejo correcto de Unicode
- Kitty logró una puntuación de nivel similar a Ghostty y publicó su algoritmo de segmentación de texto, contribuyendo a la estandarización
- Muchas terminales mostraron problemas de bajo rendimiento e inconsistencias en el soporte de DEC Private Mode; en especial, las terminales basadas en VTE no mostraron mejoras
- Con la aparición del protocolo de texto de ancho variable, se plantea la posibilidad de mejorar la legibilidad de distintos idiomas más allá de la limitación de las celdas de ancho único
- Errant Champions (campeones errantes): desafiantes que, como Ghostty y Kitty, no se conforman con las especificaciones clásicas y replantean desde la base los problemas de ancho de caracteres, renderizado y Unicode en las terminales
Herramienta ucs-detect y panorama de las pruebas
- Como seguimiento del experimento comparativo de soporte de Unicode presentado en 2023, la herramienta
ucs-detectañadió funciones de detección de DEC Private Modes, gráficos sixel, tamaño de píxel y versión de software- Esta herramienta envía secuencias de control de posición del cursor y compara la respuesta de la terminal con los resultados de Python wcwidth para registrar discrepancias
- Las pruebas verifican la precisión del cálculo del ancho de caracteres de cada terminal, y los resultados cuantifican la calidad del soporte de Unicode
El problema del ancho de caracteres (The Width Problem)
- Las terminales tienen una limitación estructural: deben mostrar distintos caracteres Unicode dentro de una cuadrícula de ancho fijo
- Debido a caracteres combinantes, secuencias de emoji y Zero-width joiner, la predicción del ancho de los caracteres falla con frecuencia
- Estos errores provocan fallos en la posición del cursor y corrupción de la salida, e incluso distorsionan la posición de entrada
- Los resultados de las pruebas identifican qué terminales causan menos estos problemas
Ghostty: una nueva potencia
- Ghostty es una nueva terminal publicada en 2025, desarrollada desde cero en el lenguaje Zig
- Gracias a una implementación exhaustiva del soporte de Unicode, obtuvo la mayor precisión y la puntuación más alta en las pruebas
- Su desarrollador, Mitchell Hashimoto, estudió los principios fundamentales en el texto de 2023 Grapheme Clusters and Terminal Emulators
- La recién presentada libghostty puede convertirse en una alternativa para reemplazar a libvte, y podría aportar una base sólida de Unicode al ecosistema de terminales en el futuro
Kitty: otro campeón
- Kitty registró una puntuación casi idéntica a la de Ghostty y publicó su algoritmo de división de celdas de texto
- Este algoritmo coincide con la especificación de Python wcwidth y se basa en una interpretación del estándar Unicode
- Solo estas dos terminales soportan correctamente Variation Selector 15
- Aunque su utilidad práctica es baja, está previsto que esta función se incorpore a futuro al estándar de Python wcwidth
Resumen comparativo del rendimiento Unicode de los emuladores de terminal
- 1.º Ghostty, 2.º Foot, 3.º Kitty ocuparon los primeros lugares
- Las tres terminales obtuvieron la puntuación máxima en precisión de manejo de Unicode (WIDE/LANG/ZJW/VS16)
- Ghostty logró 100 puntos en todos los apartados, con puntuación total de 100, y DEC Modes también aparece como enabled
- Kitty es algo más lenta en rendimiento (Elapsed time 1748s), pero mantiene un nivel máximo de precisión
- Las terminales basadas en VTE (GNOME Terminal, Terminator, LXTerminal, etc.) se mantuvieron en la parte baja
- Todas tienen Final Scaled Score de 5 puntos o menos y tiempos de prueba muy lentos, entre 8000 y 18000 segundos
- No hubo mejoras respecto a 2023
- En términos de rendimiento (Elapsed time), Foot, WezTerm, tmux y Konsole fueron rápidas (menos de 100 segundos)
- iTerm2 y Extraterm fueron muy lentas por su alto uso de CPU (más de 4000 segundos)
- El soporte de gráficos sixel solo está disponible en algunos de los mejor posicionados
- Ghostty, Kitty, Konsole y contour sí lo soportan
- GNOME Terminal y la mayoría de la familia VTE no lo soportan
- Solo Ghostty y Kitty soportan correctamente Variation Selector 15 (VS15)
- En términos de madurez del manejo de Unicode, estos dos proyectos están en una categoría aparte
Análisis de rendimiento (The Long Road)
- Muchas terminales mostraron un rendimiento muy lento, al punto de requerir horas para completar las pruebas
- iTerm2 y Extraterm consumían demasiada CPU, por lo que fue necesario acortar el tiempo de prueba
- GNOME Terminal y las terminales basadas en VTE usan poca CPU, pero aun así tardaron más de 5 horas
- Python wcwidth, pese a ser un lenguaje de alto nivel, igualó la velocidad de la mayoría de las terminales
- Para optimizar el rendimiento se probaron vectores de bits, filtros de Bloom y caché LRU, pero la combinación de búsqueda binaria + caché LRU resultó ser la más eficiente
- La caché LRU es eficaz al procesar conjuntos repetidos de caracteres
- También se consideró introducir un módulo en C, pero la implementación actual en Python ya ofrece un rendimiento suficiente
Casos curiosos y problemas (Tilting at Edges)
- Terminology produce resultados distintos en cada ejecución, lo que sugiere posible corrupción de estado interno
- iTerm2 informa todos los DEC Private Mode como “soportados pero desactivados”
- Konsole no responde a las consultas, pero algunos modos sí son compatibles cuando se activan
- Contour respondió con números de modo incorrectos, por lo que se marcó como “sin soporte”, y en la versión de diciembre de 2024 apareció un error de configuración de la tecla ESC
- Las terminales basadas en VTE/7600 mantuvieron la misma baja puntuación que en 2023
- Las discusiones sobre mejoras de Unicode en el proyecto libvte recibieron críticas, pero el issue de soporte para secuencias de emoji se considera una señal de mejora hacia 2026
Sobre el Mode 2027
- Mode 2027 clasifica de forma simple si una terminal soporta o no Unicode, pero no permite conocer el nivel de detalle de sus funciones
- En la práctica, un enfoque como ucs-detect, que prueba directamente funciones individuales y code points, es más preciso
Más allá del ancho fijo (Beyond Fixed Widths)
- La estructura de celdas de ancho fijo reduce la legibilidad de muchos idiomas
- El protocolo de ajuste de tamaño de texto (text sizing protocol) propone un nuevo enfoque para resolverlo
- Kovid Goyal, de Kitty, lo explicó con el ejemplo de “querer ver más grande el título de un archivo Markdown”
- Esta función plantea la posibilidad de mejorar la accesibilidad y la legibilidad de escrituras complejas
- Como ejemplo, la comparación de visualización del idioma Khün entre Contour y el editor Kate mostró que el renderizado de ancho variable ofrece resultados más claros
- Se plantea como dirección futura un modo de ancho variable que permita al motor tipográfico renderizar texto sin las restricciones por celda
- La adopción del protocolo de tamaño de texto se considera un avance para resolver estos problemas
15 comentarios
Recomiendo wezterm.
Estoy usando xshell e iterm2... Creo que también debería probar otros.
En Mac y Linux usé mucho ghostty, pero en Windows creo que wezterm es el mejor.
Como usuario de Windows
me acomodé por completo con
cygwin terminal (mintty) + mosh. La verdad, no siento que le falte nada.Kitty tiene buenas funciones, pero me alegra que haya surgido una alternativa llamada Ghostty porque su mantenedor es una persona lamentable.
Simplemente uso Windows Terminal.
Al final volví a iTerm2
Siempre termino volviendo a Gnome Terminal...
Ojalá que Ghostty o Kitty también fueran compatibles con Windows.
Si ajustas bien solo la configuración, WezTerm también me pareció bastante bueno. (compatible con Windows)
https://es.news.hada.io/topic?id=9270
Parece que tabby es de nicho... tendré que probar ghostty una vez.
Ah. Entonces ghostty no tiene versión para Windows;
Con los programas CLI de LLM, parece que también en la terminal se usará cada vez más una variedad de idiomas además del inglés.
Desde esa perspectiva, siento que el soporte de Unicode en los emuladores de terminal es realmente importante.
Si
ghosttytuviera la funcióncmd+f, sería perfecto. Como no la tiene, resulta incómodo de forma sutil.Y además, cuando ya lo tienes dividido con
split, no sé cómo separar eso en una ventana aparte. ¿Alguien sabrá cómo hacerlo? T_TNo menosprecies a alacritty~~~
Opiniones en Hacker News
Por trabajo de la empresa probé Windows Terminal por primera vez.
Después de pasarme la vida desarrollando solo en Linux, me di cuenta de que Ctrl+C y Ctrl+V funcionan de una forma muy inteligente.
Si no hay nada seleccionado, interrumpe el proceso; si hay una selección, copia. Y para pegar simplemente usas Ctrl+V. Muy práctico.
Basta con seleccionar el texto y luego pegarlo en otra ventana con el botón central del mouse.
A esto se le llama Primary Selection, y funciona por separado del portapapeles normal (Ctrl+C/V). En lo personal, este método me parece más cómodo.
Lo interesante es que los programas que solemos llamar “emuladores de terminal” en realidad no emulan completamente una terminal.
Pero ahora sí es posible. Basta con ver cómo emular un VT102 real con MAME.
También funciona en WSL, y puedes conectar
socatconmamepara usarlo como si fuera una terminal de hardware real.Hace tiempo quise crear un emulador VT220 de alto nivel al que se le agregaran control por mouse y funciones de pegado, y este artículo me hizo volver a pensarlo.
Da gusto ver que Konsole de KDE quedó tan arriba.
Aunque es una terminal de hace décadas, sigue compitiendo de tú a tú en rendimiento con terminales modernas.
Se puede personalizar libremente y además es lo bastante rápida.
Me gusta especialmente que en Dolphin puedes abrir Konsole directamente en la carpeta actual con clic derecho.
La función de scrollback infinito también es útil. Los logs antiguos no se descartan porque se van rotando automáticamente a archivos.
Tengo configurado Ctrl+Shift+X como atajo para reiniciar todo y lo uso seguido.
Como material relacionado:
En la lista falta DECterm.
Como se puede ver en la documentación general de DECterm, ofrecía la mejor emulación VT220 dentro del X Window System.
Casi no hay terminales que soporten los modos de caracteres “double wide” o “double high, double wide” de VT100. Esas letras gigantes eran bastante divertidas.
Durante bastante tiempo usé Alacritty sin problemas, pero hace poco probé Ghostty y me sorprendió.
Tiene un selector de temas integrado que resulta muy útil cuando trabajas en varias computadoras.
En general, parece una mejor alternativa que Alacritty. Se nota que sus desarrolladores hicieron un gran trabajo.
Se puede imitar con tmux, pero no es exactamente lo mismo.
Si Ghostty añadiera soporte para Windows, sería perfecto.
Estaría bien que la terminal pudiera consultar si una fuente soporta cierta lista de caracteres.
Así, los programas TUI que usan Unicode moderno o caracteres de uso privado (por ejemplo, iconos de powerline o font-awesome) podrían mostrar automáticamente un reemplazo cuando no haya soporte.
Me da pena que haya tan pocas menciones a Windows Terminal.
El ecosistema de Linux sigue siendo más rico, pero hoy WT está claramente por encima de muchas terminales de Linux.
Hace 10 años eso habría sido impensable.
Por cierto, a veces vuelvo a ver este video porque me gusta el easter egg con los nombres ocultos de los desarrolladores.
Las pestañas, los temas y el cambio de nombre de las ventanas son excelentes, y permiten identificar de inmediato para qué sirve cada una.
La terminal Foot también es excelente.
Es solo para Wayland, pero abre rápido y es ligera. Además usa pocos recursos.
Ghostty me gustó, pero para abrir una sola terminal vacía la diferencia de uso de memoria es de más de 10 veces.
La terminal predeterminada de macOS quedó en 29.º lugar en estos resultados.
Aun así, en las versiones recientes (macOS 26) ya soporta Powerline y color de 24 bits.