2025’te Terminal Emülatörlerinin Durumu: Başıboş Şampiyonlar
(jeffquast.com)- Başlıca terminal emülatörlerinin 2025 değerlendirme sonuçları, Unicode desteği doğruluğu ve performans temelinde karşılaştırılıyor
- Ghostty, Zig ile sıfırdan geliştirilen yeni bir terminal olarak en yüksek puanı aldı ve doğru Unicode işleme uyguladı
- Kitty, Ghostty’ye çok yakın bir puan elde etti ve metin hücresi bölme algoritmasını yayımlayarak standardizasyona katkı sundu
- Çok sayıda terminalde performans düşüşü ve DEC Private Mode desteğinde tutarsızlık görüldü; özellikle VTE tabanlı terminallerde iyileşme yok
- Değişken genişlikli metin protokolünün ortaya çıkışı, tek genişlikli hücre sınırını aşarak çeşitli dillerde okunabilirliği artırma olasılığı sunuyor
- Errant Champions (Başıboş Şampiyonlar): Ghostty ve Kitty gibi, klasik spesifikasyonlarla yetinmeyip terminalin karakter genişliği, render etme ve Unicode sorunlarını kökten yeniden tasarlayan meydan okuyucular
ucs-detect aracı ve test genel görünümü
- 2023’te yayımlanan Unicode destek karşılaştırma deneyi çalışmasının devamı olarak,
ucs-detectaracına DEC Private Modes, sixel grafik, piksel boyutu ve yazılım sürümü algılama özellikleri eklendi- Bu araç, imleç konumu denetim dizilerini gönderiyor ve terminalin yanıtını Python wcwidth sonuçlarıyla karşılaştırarak uyuşmazlıkları kaydediyor
- Testler, her terminalin karakter genişliği hesaplama doğruluğunu doğruluyor ve sonuçlar Unicode desteğinin kalitesini sayısallaştırıyor
Karakter genişliği sorunu (The Width Problem)
- Terminallerin, sabit genişlikli bir ızgara içinde çok çeşitli Unicode karakterlerini göstermek zorunda kalması yapısal bir sınırlama oluşturuyor
- Birleştirici karakterler, emoji dizileri, Zero-width joiner gibi öğeler nedeniyle karakter genişliği tahmini sık sık başarısız oluyor
- Bu hatalar imleç konumu hatalarına ve çıktı bozulmasına yol açıyor, hatta giriş konumunu da çarpıtıyor
- Test sonuçları, bu sorunları en az çıkaran terminalleri belirliyor
Ghostty: yeni güç
- Ghostty, 2025’te yayımlanan yeni bir terminal ve Zig diliyle sıfırdan geliştirildi
- Titiz Unicode desteği uygulaması sayesinde en yüksek doğruluğa ulaştı ve testlerde en yüksek puanı aldı
- Geliştirici Mitchell Hashimoto, 2023 tarihli Grapheme Clusters and Terminal Emulators yazısıyla temel ilkeleri araştırmıştı
- Yeni duyurulan libghostty, mevcut libvte için bir alternatif olabilir ve gelecekte terminal ekosistemine güçlü bir Unicode temeli sağlama potansiyeli taşıyor
Kitty: bir başka şampiyon
- Kitty, Ghostty ile neredeyse aynı puanı aldı ve metin hücresi bölme algoritmasını yayımladı
- Bu algoritma, Python wcwidth spesifikasyonuyla uyumlu ve Unicode standardının yorumuna dayanıyor
- Yalnızca bu iki terminal Variation Selector 15 desteğini doğru biçimde sunuyor
- Bu özellik pratikte çok önemli olmasa da, gelecekte Python wcwidth standardına yansıtılması planlanıyor
Terminal emülatörlerinin Unicode performansı karşılaştırması özeti
- Üst sıralarda 1. Ghostty, 2. Foot, 3. Kitty yer aldı
- Üç terminal de Unicode işleme doğruluğu (WIDE/LANG/ZJW/VS16) kategorilerinde en yüksek puanı aldı
- Ghostty, tüm kategorilerde 100 puanla toplamda 100 puan aldı; DEC Modes durumu da enabled
- Kitty, performans açısından (
Elapsed time 1748s) biraz daha yavaş olsa da doğrulukta en üst seviyede
- VTE tabanlı terminaller (GNOME Terminal, Terminator, LXTerminal vb.) alt sıralarda kaldı
- Hepsinin Final Scaled Score değeri 5’in altında ve test süreleri 8000~18000 saniye ile çok yavaş
- 2023’e kıyasla hiçbir iyileşme yok
- Performans (
Elapsed time) açısından Foot, WezTerm, tmux, Konsole gibi araçlar hızlıydı (100 saniyenin altında)- iTerm2, Extraterm ise yüksek CPU kullanımı nedeniyle oldukça yavaş kaldı (4000 saniyenin üzerinde)
- Sixel grafik desteği üst sıralardaki terminallerin yalnızca bir kısmında mevcut
- Ghostty, Kitty, Konsole, contour destekliyor
- GNOME Terminal ve VTE ailesi ise çoğunlukla desteklemiyor
- Variation Selector 15 (VS15) desteğini doğru sunan terminaller yalnızca Ghostty ve Kitty
- Unicode işleme olgunluğu açısından bu iki proje fiilen ayrı bir yerde duruyor
Performans analizi (The Long Road)
- Pek çok terminal çok yavaş performans gösterdi ve testlerin tamamlanması saatler aldı
- iTerm2 ve Extraterm CPU’yu aşırı kullandı; bu yüzden test süresinin kısaltılması gerekti
- GNOME Terminal ve VTE tabanlı terminaller düşük CPU kullanımına rağmen 5 saatten fazla sürdü
- Python wcwidth, yüksek seviyeli bir dilde yazılmış olmasına rağmen çoğu terminalle benzer hıza ulaştı
- Performans optimizasyonu için bit vektörü, Bloom filter ve LRU cache gibi yöntemler denendi; ancak en verimli kombinasyon ikili arama + LRU cache oldu
- LRU cache, tekrarlanan karakter kümeleri işlenirken etkili oldu
- C modülü eklemek de değerlendirildi, ancak mevcut Python uygulamasıyla da yeterli performans sağlandı
Dikkat çeken örnekler ve sorunlar (Tilting at Edges)
- Terminology’de sonuçlar her çalıştırmada değişiyor; bu da iç durum bozulması olasılığına işaret ediyor
- iTerm2, tüm DEC Private Mode’ları “destekleniyor ama devre dışı” olarak raporluyor
- Konsole, sorgulara yanıt vermiyor ama bazı modlar etkinleştirildiğinde destek sunuyor
- Contour, yanlış mod numarasıyla yanıt verdiği için “destek yok” olarak işaretlendi; ayrıca 2024 Aralık sürümünde ESC tuşu ayar hatası oluştu
- VTE/7600 tabanlı terminaller, 2023’tekiyle aynı düşük puanları korudu
- libvte projesindeki Unicode iyileştirme tartışmaları eleştiri aldı; ancak emoji dizisi desteği konusu 2026 için bir iyileşme sinyali olarak değerlendiriliyor
Mode 2027 hakkında
- Mode 2027, bir terminalin Unicode desteğini yalnızca “destekliyor/desteklemiyor” şeklinde ayırıyor; fakat ayrıntılı özellik seviyesini göstermiyor
- Pratikte ucs-detect gibi araçlarla tek tek özellikleri ve kod noktalarını doğrudan test etmek daha doğru
Sabit genişliğin ötesine geçmek (Beyond Fixed Widths)
- Sabit genişlikli hücre yapısı, birçok dilde okunabilirliğin düşmesine yol açıyor
- Metin boyutlandırma protokolü (text sizing protocol), bunu çözmek için yeni bir yaklaşım sunuyor
- Kitty’nin Kovid Goyal’ı bunu “bir Markdown dosyasındaki başlığı daha büyük görmek istiyorum” örneğiyle açıklıyor
- Bu özellik, erişilebilirliği artırma ve karmaşık karakter yazılarının okunabilirliğini iyileştirme potansiyeli sunuyor
- Örnek olarak Contour ile Kate editöründe Khün dilinin gösterimi karşılaştırıldığında, değişken genişlikli render daha net sonuç veriyor
- Yazı tipi motorunun metni hücre başına kısıt olmadan render etmesini sağlayan değişken genişlik modu, gelecekteki gelişim yönü olarak gösteriliyor
- Metin boyutlandırma protokolünün kullanıma girmesi, bu sorunların çözümünde bir ilerleme olarak değerlendiriliyor
15 yorum
wezterm'i tavsiye ederim
xshell,iterm2kullanıyorum.. Başkalarını da bir kez denemek gerekir sanırımMac ve Linux'ta
ghostty'yi çok kullandım, ama Windows'ta en iyisininweztermolduğunu düşünüyorum.Bir Windows kullanıcısı olarak
cygwin terminal (mintty) + moshile tamamen karar kıldım. Açıkçası eksik olan bir şey yok gibi.Ben sadece Windows Terminal kullanıyorum.
Ben hep Gnome terminal'e geri dönüyorum...
Ghostty veya Kitty Windows'u da desteklese gerçekten çok iyi olurdu. T_T
Sadece config ayarları iyi yapılırsa WezTerm de oldukça iyiydi. (Windows desteği var)
https://tr.news.hada.io/topic?id=9270
Görünüşe göre tabby pek ana akım değil.. sanırım ghostty'yi bir denemem gerekecek
Ah. Demek ki
ghosttyiçin Windows sürümü yokmuş;LLM CLI programları nedeniyle terminalde de İngilizce dışındaki çeşitli dillerin kullanımının artması muhtemel.
Bu açıdan bakınca, terminal emülatörlerinin Unicode desteği gerçekten çok önemli görünüyor.
ghostty'yecmd+fözelliği de gelirse bence mükemmel olacak. Olmayınca hafiften rahatsız edici oluyor.Bir de split yapılmış durumdayken bunu ayrı bir pencereye nasıl ayıracağımı bilmiyorum. Bilen var mı acaba? T_T
alacritty'yi küçümseme~~~
Hacker News görüşleri
İş nedeniyle ilk kez Windows Terminal kullandım
Hayatım boyunca sadece Linux’ta geliştirme yaptıktan sonra kullanınca Ctrl+C ve Ctrl+V’nin ne kadar akıllıca çalıştığını gördüm
Seçili alan yoksa işlemi kesiyor, seçim varsa kopyalama yapıyor; yapıştırma da doğrudan Ctrl+V ile oluyor. Gerçekten çok kullanışlı
Sadece metni seçmek yeterli; ardından başka bir pencerede orta fare tuşu ile yapıştırabiliyorsunuz
Buna Primary Selection deniyor ve normal panodan (Ctrl+C/V) ayrı çalışıyor. Bana göre bu yöntem daha kullanışlı
İlginç olan şu ki, bizim genelde “terminal emülatörü” dediğimiz programlar aslında terminali tamamen emüle etmiyor
Ama artık bu mümkün. MAME ile VT102’yi gerçekten emüle etme yöntemine bakabilirsiniz
WSL’de de çalışıyor;
socatilemamei bağlayıp gerçek donanım terminali gibi kullanmak mümkünBir zamanlar VT220 için fare kontrolü ve yapıştırma özellikleri eklenmiş yüksek seviyeli bir VT220 emülatörü yapmayı istemiştim; bu yazıyı görünce tekrar aklıma geldi
KDE’nin Konsole’unun üst sıralarda yer almasına sevindim
Onlarca yıllık bir terminal olmasına rağmen modern terminallerle performans açısından başa baş rekabet ediyor
Özelleştirmesi esnek ve hızı da fazlasıyla yeterli
Özellikle Dolphin’de sağ tıklayıp doğrudan o klasörde Konsole açabilmek çok iyi
Sınırsız scrollback özelliği de kullanışlı. Eski loglar dosyaya otomatik aktarılıp kaybolmuyor
Ctrl+Shift+X ile tam sıfırlama kısayolu atayıp sık kullanıyorum
İlgili kaynaklar arasında
Listede DECterm yok
DECterm genel bakış belgesinden görülebileceği gibi, X Window System üzerinde en iyi VT220 emülasyonunu sunuyordu
VT100’ün “double wide” ya da “double high, double wide” karakter modlarını destekleyen terminal neredeyse yok. O devasa yazılar oldukça eğlenceliydi
Bir süredir Alacritty’yi memnuniyetle kullanıyordum ama yakın zamanda Ghostty’yi deneyince şaşırdım
Birden fazla bilgisayarda çalışırken yararlı olan yerleşik tema seçici çok kullanışlı
Genel olarak Alacritty’den daha iyi bir alternatif gibi görünüyor. Geliştiriciler gerçekten iyi iş çıkarmış
tmux ile buna benzer bir şey yapılabiliyor ama tam olarak aynı değil
Ghostty’ye Windows desteği de eklenirse kusursuz olur gibi
Terminalin belirli bir karakter listesi için font desteğini sorgulayabilmesi güzel olurdu
Böylece TUI programları güncel Unicode’u ya da Private Use karakterlerini (ör. powerline, font-awesome ikonları) kullanırken, destek yoksa otomatik olarak yedek karakter gösterebilir
Windows Terminal’den az bahsedilmesi üzücü
Linux ekosistemi daha zengin olsa da bugün WT birçok Linux terminalinden çok daha üst sıralarda
Bu, 10 yıl önce hayal bile edilemezdi
Bu arada bazen bu videoyu yeniden izliyorum; geliştirici adlarının gizlendiği bir easter egg olduğu için hoşuma gidiyor
Sekmeler, temalar ve pencere adını değiştirme özelliği harika; her pencerenin ne işe yaradığını bir bakışta anlamayı sağlıyor
Foot terminali de harika
Yalnızca Wayland için olsa da hafif ve hızlı açılıyor. Kaynak kullanımı da düşük
Ghostty de güzeldi ama boş bir terminal penceresi açarken bellek kullanımı 10 kattan fazla fark ediyor
macOS’in varsayılan terminali bu sonuçlarda 29. sıradaydı
Yine de son sürümde (macOS 26) Powerline ve 24 bit rengi destekliyor
Kitty özellik olarak iyi ama bakımcısı acınası biri olduğu için Ghostty gibi bir alternatifin ortaya çıkmasına seviniyorum.
Sonunda yine iTerm2'ye geri döndüm