14 पॉइंट द्वारा GN⁺ 2025-11-04 | 15 टिप्पणियां | WhatsApp पर शेयर करें
  • Unicode support की सटीकता और performance के आधार पर प्रमुख terminal emulators की 2025 की तुलना प्रस्तुत की गई
  • Ghostty Zig में नया विकसित किया गया terminal है, जिसने सबसे अधिक स्कोर दर्ज किया और सटीक Unicode handling लागू की
  • Kitty ने Ghostty के लगभग समान स्तर का स्कोर हासिल किया और text segmentation algorithm सार्वजनिक करके standardization में योगदान दिया
  • कई terminals में performance degradation और DEC Private Mode support mismatch की समस्या दिखी, खासकर VTE-आधारित terminals में कोई सुधार नहीं था
  • variable-width text protocol के आने से single-width cell की सीमा से आगे बढ़कर कई भाषाओं की readability बेहतर करने की संभावना सामने आई
  • Errant Champions (भटकते चैंपियंस): Ghostty और Kitty जैसे वे दावेदार जो पारंपरिक specifications पर टिके रहने के बजाय terminal के character width, rendering और Unicode समस्याओं को जड़ से फिर से डिज़ाइन कर रहे हैं

ucs-detect टूल और टेस्ट का अवलोकन

  • 2023 में प्रकाशित Unicode support comparison experiment के अनुवर्ती अध्ययन के रूप में, ucs-detect टूल में DEC Private Modes, sixel graphics, pixel size, और software version detection जोड़ी गई
    • यह टूल cursor position control sequence भेजता है और terminal के response की तुलना Python wcwidth के परिणामों से करके mismatch दर्ज करता है
  • टेस्ट प्रत्येक terminal की character width calculation accuracy को verify करता है, और परिणाम Unicode support quality को संख्यात्मक रूप में दर्शाते हैं

character width की समस्या (The Width Problem)

  • terminals को fixed-width grid के भीतर कई तरह के Unicode characters दिखाने पड़ते हैं, इसलिए एक संरचनात्मक सीमा मौजूद है
  • combining characters, emoji sequences, Zero-width joiner आदि के कारण character width का अनुमान अक्सर विफल हो जाता है
  • ऐसी त्रुटियां cursor position errors और output corruption पैदा करती हैं, और input position को भी बिगाड़ देती हैं
  • टेस्ट के नतीजे उन terminals की पहचान करते हैं जिनमें ये समस्याएं सबसे कम होती हैं

Ghostty: नया दावेदार

  • Ghostty 2025 में जारी किया गया नया terminal है, जिसे Zig भाषा में शुरुआत से विकसित किया गया
    • सटीक Unicode support implementation के कारण इसकी accuracy सबसे अधिक रही और टेस्ट में इसने सर्वोच्च स्कोर हासिल किया
  • डेवलपर Mitchell Hashimoto ने 2023 के Grapheme Clusters and Terminal Emulators लेख के जरिए बुनियादी सिद्धांतों का अध्ययन किया था
  • नया घोषित libghostty, मौजूदा libvte का विकल्प बन सकता है और आगे terminal ecosystem को मजबूत Unicode foundation दे सकता है

Kitty: एक और चैंपियन

  • Kitty ने Ghostty के लगभग बराबर स्कोर दर्ज किया और अपना text cell segmentation algorithm सार्वजनिक किया
    • यह algorithm Python wcwidth specification के अनुरूप है और Unicode standard की व्याख्या पर आधारित है
  • सिर्फ इन दो terminals ने Variation Selector 15 को सही तरह support किया
    • यह feature व्यावहारिक रूप से बहुत उपयोगी नहीं है, लेकिन इसे भविष्य में Python wcwidth standard में शामिल किए जाने की योजना है

terminal emulator Unicode performance comparison का सार

  • 1st Ghostty, 2nd Foot, 3rd Kitty शीर्ष स्थानों पर रहे
    • तीनों terminals ने Unicode handling accuracy (WIDE/LANG/ZJW/VS16) श्रेणियों में सर्वोच्च स्कोर दर्ज किया
    • Ghostty ने हर श्रेणी में 100 अंक लेकर कुल 100 का स्कोर हासिल किया, और DEC Modes भी enabled थे
    • Kitty performance (Elapsed time 1748s) में कुछ धीमा रहा, लेकिन accuracy सर्वोच्च स्तर की थी
  • VTE-आधारित terminals (GNOME Terminal, Terminator, LXTerminal आदि) निचले स्थानों पर बने रहे
    • सभी का Final Scaled Score 5 या उससे कम रहा, और test time 8000~18000 सेकंड तक बहुत धीमा था
    • 2023 की तरह इस बार भी कोई सुधार नहीं दिखा
  • performance (Elapsed time) के लिहाज से Foot, WezTerm, tmux, Konsole तेज रहे (100 सेकंड से कम)
    • iTerm2, Extraterm में CPU usage अधिक था और वे बहुत धीमे रहे (4000 सेकंड से अधिक)
  • sixel graphics support शीर्ष terminals में भी केवल कुछ में उपलब्ध था
    • Ghostty, Kitty, Konsole, contour इसे support करते हैं
    • GNOME Terminal, VTE परिवार के अधिकांश terminals में यह support नहीं है
  • Variation Selector 15 (VS15) को सही तरह support करने वाले terminals सिर्फ Ghostty और Kitty हैं
    • Unicode handling की पूर्णता के मामले में ये दोनों project वास्तव में अलग ही स्तर पर हैं

performance analysis (The Long Road)

  • कई terminals ने बहुत धीमा performance दिखाया, और टेस्ट पूरा होने में घंटों लग गए
    • iTerm2 और Extraterm ने CPU का अत्यधिक उपयोग किया, इसलिए test time कम करना पड़ा
    • GNOME Terminal और VTE-आधारित terminals में CPU usage कम था, लेकिन उन्हें 5 घंटे से अधिक लगे
  • Python wcwidth उच्च-स्तरीय भाषा में होने के बावजूद अधिकांश terminals की गति के बराबर रहा
  • performance optimization के लिए bit vectors, Bloom filters, LRU cache आदि आज़माए गए, लेकिन binary search + LRU cache का संयोजन सबसे प्रभावी निकला
    • LRU cache दोहराए जाने वाले character sets को संभालने में प्रभावी रहा
  • C module लाने पर भी विचार किया गया, लेकिन मौजूदा Python implementation से ही पर्याप्त performance मिल गई

असामान्य मामले और समस्याएं (Tilting at Edges)

  • Terminology में हर run पर अलग परिणाम आया, जिससे internal state corruption की संभावना दिखी
  • iTerm2 ने सभी DEC Private Modes को “supported but disabled” के रूप में report किया
  • Konsole queries का जवाब नहीं देता, लेकिन कुछ modes enable करने पर support करता है
  • Contour ने गलत mode number के साथ response दिया, इसलिए उसे “unsupported” के रूप में दिखाया गया, और 2024 दिसंबर release में ESC key setting bug भी था
  • VTE/7600-आधारित terminals ने 2023 जैसा ही कम स्कोर बनाए रखा
  • libvte project में Unicode सुधार पर चर्चा की आलोचना हुई, लेकिन emoji sequence support issue को 2026 के लिए सुधार के संकेत के रूप में देखा गया

Mode 2027 के बारे में

  • Mode 2027 terminal की Unicode support को केवल “supported/unsupported” में बांटता है, लेकिन विस्तृत feature level नहीं बताता
  • व्यवहार में ucs-detect की तरह individual features और codepoints को सीधे test करने का तरीका अधिक सटीक है

fixed width से आगे (Beyond Fixed Widths)

  • fixed-width cell संरचना कई भाषाओं की readability कम कर देती है
  • text sizing protocol इसे हल करने का नया तरीका प्रस्तुत करता है
    • Kitty के Kovid Goyal ने इसे “Markdown file का title बड़ा देखना चाहता हूं” जैसे उदाहरण से समझाया
  • यह feature accessibility सुधारने और complex character scripts की readability बेहतर करने की संभावना दिखाता है
  • उदाहरण के तौर पर Contour और Kate editor में Khün भाषा के प्रदर्शन की तुलना में variable-width rendering ने अधिक स्पष्ट परिणाम दिया
  • भविष्य की दिशा के रूप में ऐसा variable-width mode प्रस्तावित है, जिसमें font engine cell-स्तरीय बंधन के बिना text render कर सके
  • text sizing protocol को अपनाना इस समस्या के समाधान की दिशा में प्रगति माना गया

15 टिप्पणियां

 
sleepyeye 2025-11-10

मैं wezterm की सिफारिश करता हूँ

 
kaorw 2025-11-06

मैं xshell, iterm2 इस्तेमाल कर रहा हूँ.. लगता है दूसरे वाले भी एक बार आज़माने चाहिए

 
hwhang0917 2025-11-05

Mac और Linux पर मैंने ghostty का काफ़ी इस्तेमाल किया है, लेकिन Windows में मुझे लगता है कि wezterm सबसे अच्छा है.

 
botplaysdice 2025-11-05

Windows यूज़र होने के नाते

मैं cygwin terminal (mintty) + mosh पर पूरी तरह से आकर टिक गया हूँ। कुल मिलाकर, ऐसा लगता है कि किसी चीज़ की कमी नहीं है।

 
ndrgrd 2025-11-04

Kitty के फीचर्स तो अच्छे हैं, लेकिन उसका maintainer इतना घटिया इंसान है कि Ghostty जैसा विकल्प सामने आया, यह देखकर खुशी होती है।

 
savvykang 2025-11-04

मैं बस Windows Terminal इस्तेमाल करता हूँ

 
say8425 2025-11-04

आखिरकार फिर से iTerm2 पर लौट आया।

 
ceruns 2025-11-04

मैं हमेशा Gnome terminal पर वापस आ जाता हूँ...

 
sddsdd94 2025-11-04

अगर Ghostty या Kitty Windows को भी सपोर्ट करें तो बहुत अच्छा होगा. हाय

अगर config को अच्छी तरह tweak किया जाए, तो WezTerm भी काफी अच्छा लगा. (Windows support)
https://hi.news.hada.io/topic?id=9270

 
coderred 2025-11-04

लगता है tabby ज़्यादा mainstream नहीं है.. ghostty एक बार इस्तेमाल करके देखना पड़ेगा

 
coderred 2025-11-04

आह। ghostty का Windows वर्ज़न नहीं है;

 
barca105 2025-11-04

LLM CLI प्रोग्रामों की वजह से टर्मिनल में भी अंग्रेज़ी के बाहर की कई भाषाओं का इस्तेमाल बढ़ेगा।
उस नज़रिए से देखें तो टर्मिनल एम्युलेटर का Unicode सपोर्ट वाकई बहुत महत्वपूर्ण लगता है।

 
t7vonn 2025-11-04

अगर ghostty में सिर्फ cmd+f फीचर आ जाए तो यह परफेक्ट लगेगा। इसके न होने से हल्की-सी असुविधा होती है.

और split किए हुए state में इसे अलग window में कैसे अलग किया जाए, यह मुझे समझ नहीं आ रहा। क्या किसी को पता है? T_T

 
jjpark78 2025-11-04

alacritty को नज़रअंदाज़ मत करो~~~

 
GN⁺ 2025-11-04
Hacker News राय
  • कंपनी के काम की वजह से पहली बार Windows Terminal इस्तेमाल किया
    पूरी ज़िंदगी Linux पर ही development करता रहा, तो इस्तेमाल करके लगा कि Ctrl+C, Ctrl+V बहुत स्मार्ट तरीके से काम करते हैं
    जब कोई selection नहीं होता, तब यह process interrupt करता है, और selection होने पर copy करता है; paste भी बस Ctrl+V से हो जाता है। सच में बहुत सुविधाजनक है

    • Linux (खासकर Wayland) में तो Ctrl+C के बिना भी copy किया जा सकता है
      बस text select करो, और दूसरी window में middle mouse button से paste कर सकते हो
      इसे Primary Selection कहा जाता है, और यह सामान्य clipboard (Ctrl+C/V) से अलग काम करता है। मुझे व्यक्तिगत रूप से यह तरीका ज़्यादा सुविधाजनक लगता है
  • दिलचस्प बात यह है कि जिन programs को हम आमतौर पर “terminal emulator” कहते हैं, वे वास्तव में terminal को पूरी तरह emulate नहीं करते
    लेकिन अब यह संभव है। MAME से VT102 को सचमुच emulate करने का तरीका देख सकते हैं
    यह WSL में भी चलता है, और socat और mame को जोड़कर इसे असली hardware terminal की तरह इस्तेमाल किया जा सकता है
    पहले कभी VT220 के लिए mouse control और paste जैसी सुविधाएँ जोड़कर एक high-level VT220 emulator बनाना चाहता था, यह लेख देखकर फिर से याद आ गया

  • KDE का Konsole ऊपर रैंक में देखना अच्छा लगा
    यह दशकों पुराना terminal है, फिर भी आधुनिक terminals के साथ performance के मामले में बराबरी से प्रतिस्पर्धा कर रहा है

    • KDE environment में तो default में मिलने वाला Konsole ही इस्तेमाल कर लो
      customization की पूरी आज़ादी है और speed भी काफ़ी तेज़ है
      Dolphin में right-click करके उसी current folder में तुरंत Konsole खोल पाना खास तौर पर अच्छा लगता है
      infinite scrollback feature भी उपयोगी है। पुराने logs अपने-आप file में swap हो जाते हैं, इसलिए खोते नहीं
      Ctrl+Shift+X पर full reset shortcut सेट कर रखा है और अक्सर इस्तेमाल करता हूँ
  • संबंधित सामग्री के तौर पर

  • सूची में DECterm नहीं है
    DECterm overview document से पता चलता है कि इसने X Window System में सबसे बेहतरीन VT220 emulation दिया था
    VT100 के “double wide” या “double high, double wide” character modes को support करने वाले terminals बहुत कम हैं। वे विशाल अक्षर काफ़ी मज़ेदार थे

    • xterm उस mode को support करता है। पहले इस बारे में emoji support पर एक पोस्ट लिखी थी: Can your terminal do emojis?
    • अजीब बात है कि Windows Terminal DECDHL को support करता है, लेकिन Linux की तरफ़ यह लगभग कहीं नहीं मिलता
  • कुछ समय से Alacritty अच्छी तरह इस्तेमाल कर रहा था, लेकिन हाल में Ghostty आज़माया और हैरान रह गया
    कई computers पर काम करते समय काम आने वाला built-in theme selector होने से यह बहुत सुविधाजनक है
    कुल मिलाकर यह Alacritty से बेहतर विकल्प लगता है। developers ने सच में बहुत अच्छा बनाया है

    • Ghostty में बस एक कमी लगी कि अभी scrollback search नहीं है
      tmux से इसकी नकल की जा सकती है, लेकिन बात पूरी तरह वैसी नहीं बनती
    • Alacritty में 2017 से ligature support के लिए issue खुला है, लेकिन अब तक implement नहीं हुआ
      अगर Ghostty में Windows support भी आ जाए, तो यह लगभग perfect होगा
    • मुझे लगा था built-in theme selector तो obvious feature है, लेकिन हैरानी हुई कि ऐसा नहीं है
  • अच्छा होता अगर terminal किसी खास character list के लिए font support उपलब्ध है या नहीं, यह query कर पाता
    इससे TUI programs modern Unicode या Private Use characters (जैसे powerline, font-awesome icons) इस्तेमाल करते समय, support न होने पर अपने-आप fallback characters दिखा सकते

  • Windows Terminal का ज़िक्र कम देखना थोड़ा अफ़सोसजनक है
    Linux ecosystem ज़्यादा समृद्ध ज़रूर है, लेकिन अब WT कई Linux terminals से काफ़ी ऊपर है
    10 साल पहले यह कल्पना भी नहीं की जा सकती थी

    • test results में Windows Terminal ("terminal.exe" के नाम से) 4वें स्थान पर था
      वैसे कभी-कभी यह वीडियो फिर से देखता हूँ; इसमें developers के नाम छिपे हुए easter egg की वजह से यह पसंद है
    • Windows छोड़ने के बाद मुझे सबसे ज़्यादा इसी terminal की कमी महसूस होती है
      tabs, themes, और window names बदलने की सुविधा शानदार है, और हर window किस काम की है यह एक नज़र में समझ आ जाता है
    • व्यक्तिगत रूप से भी यह मेरा पसंदीदा terminal है। अभी macOS पर Ghostty इस्तेमाल कर रहा हूँ, लेकिन WT जैसा नहीं
  • Foot terminal भी शानदार है
    यह सिर्फ Wayland के लिए है, लेकिन हल्का है और बहुत तेज़ी से शुरू होता है। resource usage भी कम है

    • मैं भी इस समय Foot को मुख्य terminal के रूप में इस्तेमाल कर रहा हूँ
      Ghostty भी अच्छा था, लेकिन एक खाली terminal window खोलने भर में memory usage 10 गुना से ज़्यादा का फ़र्क है
  • macOS का default terminal इस बार के results में 29वें स्थान पर था

    • मैं पूरे दिन macOS Terminal.app इस्तेमाल करता हूँ, लेकिन कभी यह नहीं लगा कि “मुझे इससे बेहतर terminal चाहिए”
    • सच कहें तो Apple ने 90 के दशक के आखिर में NeXT से लेने के बाद इसे लगभग अपडेट ही नहीं किया
      फिर भी हाल के versions (macOS 26) में यह Powerline और 24-bit color को support करता है
    • संदर्भ के लिए, Windows का default terminal 4वें स्थान पर था
    • लगता है ranking तय करने में कुछ ऐसे extra factors शामिल किए गए थे जिन्हें मैं महत्व नहीं देता