Panorama dos emuladores de terminal em 2025: campeões errantes
(jeffquast.com)- Apresenta os resultados da avaliação de 2025 que compara os principais emuladores de terminal com base na precisão do suporte a Unicode e no desempenho
- Ghostty é um terminal novo, desenvolvido em Zig, que obteve a maior pontuação ao implementar tratamento correto de Unicode
- Kitty alcançou uma pontuação em nível semelhante à do Ghostty e divulgou seu algoritmo de segmentação de texto, contribuindo para a padronização
- Muitos terminais mostraram problemas de queda de desempenho e inconsistência no suporte a DEC Private Mode; em especial, os terminais baseados em VTE não apresentaram melhorias
- Com o surgimento do protocolo de texto de largura variável, surge a possibilidade de melhorar a legibilidade de vários idiomas além do limite de células de largura única
- Errant Champions (campeões errantes): desafiantes que, como Ghostty e Kitty, não se acomodaram às especificações clássicas e redesenharam desde a base os problemas de largura de caracteres, renderização e Unicode nos terminais
Ferramenta ucs-detect e visão geral dos testes
- Como continuação do experimento comparativo de suporte a Unicode publicado em 2023, a ferramenta
ucs-detectadicionou detecção de DEC Private Modes, gráficos sixel, tamanho em pixels e versão do software- A ferramenta envia sequências de controle de posição do cursor e registra divergências comparando as respostas do terminal com os resultados de Python wcwidth
- Os testes verificam a precisão do cálculo da largura dos caracteres em cada terminal, e os resultados quantificam a qualidade do suporte a Unicode
O problema da largura dos caracteres (The Width Problem)
- Os terminais têm uma limitação estrutural: precisam exibir diversos caracteres Unicode dentro de uma grade de largura fixa
- Caracteres combinantes, sequências de emoji e Zero-width joiner, entre outros, fazem com que a previsão da largura dos caracteres falhe com frequência
- Esses erros provocam falhas no posicionamento do cursor e corrupção de saída, chegando a distorcer até a posição de entrada
- Os resultados dos testes identificam os terminais que menos sofrem com esses problemas
Ghostty: a nova força
- Ghostty é um novo terminal lançado em 2025, desenvolvido do zero em Zig
- Com uma implementação rigorosa de suporte a Unicode, alcançou a maior precisão e registrou a melhor pontuação nos testes
- O desenvolvedor Mitchell Hashimoto estudou os princípios fundamentais no texto de 2023 Grapheme Clusters and Terminal Emulators
- A recém-anunciada libghostty pode se tornar uma alternativa para substituir a libvte, com potencial para fornecer uma base forte de Unicode ao ecossistema de terminais no futuro
Kitty: outro campeão
- Kitty registrou uma pontuação praticamente igual à do Ghostty e divulgou seu algoritmo de segmentação de células de texto
- Esse algoritmo é compatível com a especificação do Python wcwidth e se baseia na interpretação do padrão Unicode
- Apenas esses dois terminais oferecem suporte correto ao Variation Selector 15
- Embora o recurso tenha pouca utilidade prática, ele deve ser incorporado futuramente ao padrão do Python wcwidth
Resumo da comparação de desempenho Unicode dos emuladores de terminal
- 1º Ghostty, 2º Foot, 3º Kitty lideram o ranking
- Os três terminais obtiveram pontuação máxima nos itens de precisão no tratamento de Unicode (WIDE/LANG/ZJW/VS16)
- O Ghostty alcançou 100 pontos em todos os itens, totalizando pontuação final de 100, e também ficou como enabled em DEC Modes
- O Kitty é um pouco mais lento em desempenho (Elapsed time 1748s), mas mantém precisão no mais alto nível
- Os terminais baseados em VTE (GNOME Terminal, Terminator, LXTerminal etc.) continuam nas posições inferiores
- Todos tiveram Final Scaled Score de 5 pontos ou menos e tempos de teste muito lentos, entre 8000 e 18000 segundos
- Não houve melhora em relação a 2023
- Em desempenho (Elapsed time), Foot, WezTerm, tmux e Konsole estão entre os mais rápidos (menos de 100 segundos)
- iTerm2 e Extraterm são muito lentos, com alto uso de CPU (mais de 4000 segundos)
- O suporte a gráficos sixel aparece apenas em parte dos terminais mais bem colocados
- Ghostty, Kitty, Konsole e contour têm suporte
- GNOME Terminal e a maioria da família VTE não têm suporte
- Apenas Ghostty e Kitty oferecem suporte correto ao Variation Selector 15 (VS15)
- Em nível de completude no tratamento de Unicode, esses dois projetos praticamente se destacam sozinhos
Análise de desempenho (The Long Road)
- Muitos terminais apresentaram desempenho muito lento, exigindo horas para concluir os testes
- iTerm2 e Extraterm consomem CPU em excesso, e foi preciso reduzir o tempo de teste
- GNOME Terminal e os terminais baseados em VTE usam pouca CPU, mas ainda assim levam mais de 5 horas
- Python wcwidth, mesmo sendo uma linguagem de alto nível, teve velocidade comparável à da maioria dos terminais
- Para otimização de desempenho, foram testados vetores de bits, filtros de Bloom e cache LRU, mas a combinação de busca binária + cache LRU foi a mais eficiente
- O cache LRU é eficaz ao processar conjuntos repetidos de caracteres
- Também foi considerada a introdução de um módulo em C, mas a implementação atual em Python já garante desempenho suficiente
Casos peculiares e problemas (Tilting at Edges)
- Terminology apresenta resultados diferentes a cada execução, sugerindo possível corrupção de estado interno
- iTerm2 informa todos os DEC Private Modes como “suportados, mas desativados”
- Konsole não responde às consultas, mas oferece suporte a alguns modos quando eles são ativados
- Contour respondeu com números de modo incorretos e por isso foi marcado como “sem suporte”; na versão de dezembro de 2024, também houve erro de configuração da tecla ESC
- Os terminais baseados em VTE/7600 mantiveram a mesma pontuação baixa de 2023
- As discussões sobre melhorias de Unicode no projeto libvte receberam críticas, mas a questão de suporte a sequências de emoji foi vista como um sinal de melhora para 2026
Sobre o Mode 2027
- O Mode 2027 apenas distingue de forma simples se o terminal “tem suporte” ou “não tem suporte” a Unicode, sem mostrar o nível detalhado das funcionalidades
- Na prática, um método como o do ucs-detect, que testa diretamente funções individuais e code points, é mais preciso
Além da largura fixa (Beyond Fixed Widths)
- A estrutura de células de largura fixa prejudica a legibilidade de muitos idiomas
- O protocolo de dimensionamento de texto (text sizing protocol) propõe uma nova abordagem para resolver isso
- Kovid Goyal, do Kitty, explica com o exemplo: “quero ver os títulos de um arquivo Markdown em tamanho maior”
- O recurso sugere potencial para melhorar a acessibilidade e a legibilidade de sistemas de escrita complexos
- Como exemplo, na comparação da exibição do idioma Khün entre Contour e o editor Kate, a renderização em largura variável apresentou resultado mais claro
- O modo de largura variável, que permite ao mecanismo de fontes renderizar texto sem a restrição de células individuais, é apontado como direção futura de evolução
- A introdução do protocolo de tamanho de texto é vista como um avanço na solução desses problemas
15 comentários
Recomendo o wezterm.
Uso xshell e iTerm2.. acho que vou ter que experimentar outros também
No Mac e no Linux eu usei bastante o ghostty, mas no Windows o wezterm parece ser o melhor.
Como usuário de Windows,
acabei me estabelecendo de vez com
cygwin terminal (mintty)+mosh. Bom, parece que não falta nada.O Kitty é bom em recursos, mas fico feliz que tenha surgido uma alternativa chamada Ghostty, porque o mantenedor é uma pessoa lamentável.
Eu simplesmente uso o Windows Terminal.
No fim, voltei para o iTerm2
Sempre acabo voltando para o Gnome Terminal...
Seria ótimo se o Ghostty ou o Kitty também dessem suporte ao Windows. aff
Se mexer bem só na config, o WezTerm também pareceu bem interessante. (suporte ao Windows)
https://pt.news.hada.io/topic?id=9270
Pelo visto, o tabby é meio nichado... acho que vou ter que experimentar o ghostty
Ah. Então o ghostty não tem versão para Windows;
Por causa dos programas de CLI com LLM, parece que no terminal também vai ficar cada vez mais comum usar vários idiomas além do inglês.
Nessa perspectiva, o suporte a Unicode nos emuladores de terminal realmente parece muito importante.
Acho que o
ghosttyficaria perfeito se tivesse a funçãocmd+f. Como não tem, acaba sendo meio inconveniente.E também não sei como separar isso em uma janela à parte quando está dividido em split. Alguém por acaso sabe? T_T
Não subestime o alacritty~~~
Comentários do Hacker News
Por causa do trabalho na empresa, usei o Windows Terminal pela primeira vez
Depois de passar a vida toda desenvolvendo só em Linux, achei que Ctrl+C e Ctrl+V funcionam de forma muito inteligente
Quando não há seleção, interrompe o processo; quando há seleção, copia, e para colar basta usar Ctrl+V. É realmente muito prático
Basta selecionar o texto, e em outra janela é possível colar com o botão do meio do mouse
Isso se chama Primary Selection e funciona separadamente da área de transferência comum (Ctrl+C/V). Pessoalmente, acho esse jeito mais prático
O interessante é que os programas que costumamos chamar de “emuladores de terminal” na verdade não emulam completamente um terminal
Mas agora isso já é possível. Basta ver como emular de fato um VT102 com o MAME
Também funciona no WSL, e dá para conectar
socatemamepara usar como se fosse um terminal de hardware realHá algum tempo eu queria tentar fazer um emulador VT220 de alto nível com controle de mouse e função de colar adicionados, e esse texto me fez lembrar disso
Fico feliz que o Konsole do KDE tenha ficado tão bem colocado
Mesmo sendo um terminal com décadas de existência, ainda compete de igual para igual em desempenho com os terminais mais modernos
Ele permite muita personalização e é rápido o suficiente
Gosto especialmente do fato de poder abrir o Konsole diretamente na pasta atual clicando com o botão direito no Dolphin
O recurso de scrollback infinito também é útil. Logs antigos não são descartados, e sim trocados automaticamente para arquivos
Costumo configurar e usar bastante o atalho Ctrl+Shift+X para limpeza completa
Como material relacionado:
O DECterm ficou de fora da lista
Como dá para ver no documento de visão geral do DECterm, ele oferecia a melhor emulação de VT220 no X Window System
Quase não há terminais que suportem os modos de caractere “double wide” ou “double high, double wide” do VT100. Aquelas letras enormes eram bem divertidas
Usei o Alacritty por bastante tempo, mas recentemente experimentei o Ghostty e fiquei surpreso
Ele tem um seletor de temas embutido muito útil para quem trabalha em vários computadores
No geral, parece uma alternativa melhor que o Alacritty. Os desenvolvedores realmente fizeram um ótimo trabalho
Dá para improvisar com tmux, mas não é exatamente a mesma coisa
Se o Ghostty ganhar suporte a Windows, vai ficar perfeito
Seria bom se o terminal pudesse consultar se a fonte dá suporte a uma lista específica de caracteres
Assim, programas TUI poderiam usar Unicode mais recente ou caracteres de uso privado (por exemplo, ícones do powerline ou font-awesome) e, quando não houvesse suporte, mostrar automaticamente caracteres alternativos
É uma pena haver tão pouca menção ao Windows Terminal
O ecossistema Linux é mais rico, mas hoje o WT está muito acima de vários terminais Linux
Isso seria impensável há 10 anos
Aliás, às vezes revejo este vídeo, porque gosto do easter egg com os nomes escondidos dos desenvolvedores
As abas, os temas e a possibilidade de renomear janelas são excelentes, e fica fácil entender de relance para que serve cada janela
O terminal Foot também é excelente
É exclusivo de Wayland, mas leve e rápido para iniciar. Também consome poucos recursos
O Ghostty também era bom, mas a diferença de uso de memória para abrir um terminal vazio passa de 10 vezes
O terminal padrão do macOS ficou em 29º lugar neste resultado
Ainda assim, nas versões recentes (macOS 26) ele suporta Powerline e cores de 24 bits