1 पॉइंट द्वारा GN⁺ 2025-03-09 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Vtm एक virtual terminal multiplexer है जो single executable के रूप में आता है; यह CLI apps को wrap करके टेक्स्ट-आधारित डेस्कटॉप बनाता है और TUI व GUI के बीच पुल का काम करता है
  • यह native window और standard console दोनों में समान रूप से चलता है, और अनंत nesting को support करता है ताकि कई terminal environments को परतों में इस्तेमाल किया जा सके
  • vtm desktop mode में चलता है, और vtm --run term [<your_shell>] एक standalone terminal emulator के रूप में काम करता है
  • SSH में vtm ssh user@host vtm के रूप में DirectVT protocol का उपयोग करके connect किया जा सकता है, और बताया गया है कि यह classic connection से बेहतर performance देता है
  • Windows 8.1 या उसके बाद के versions और Linux, macOS, FreeBSD, NetBSD, OpenBSD जैसे Unix-like platforms support करता है, लेकिन native GUI window rendering फिलहाल केवल Windows पर संभव है

Vtm क्या करता है

  • Vtm एक virtual terminal multiplexer है, जो single executable के रूप में उपलब्ध है
  • यह native window या standard console में समान रूप से चलता है
  • किसी भी CLI app को wrap करके चला सकता है
  • अनंत nesting support करता है, जिससे टेक्स्ट-आधारित desktop environment बनाया जा सकता है
  • इसका लक्ष्य TUI और GUI के बीच की दूरी को जोड़ने वाला टेक्स्ट-आधारित desktop उपलब्ध कराना है

चलाने के mode

  • Desktop mode

    • vtm चलाने पर desktop environment शुरू होता है
  • Terminal mode

    • vtm --run term [<your_shell>] चलाने पर Vtm को पूरी तरह standalone terminal emulator के रूप में इस्तेमाल किया जा सकता है
  • SSH binary connection

    • DirectVT protocol का उपयोग करके SSH connection का उदाहरण इस प्रकार है
    • vtm ssh user@host vtm
    • बताया गया है कि यह तरीका classic connection से ज्यादा performant है

Demo और examples

  • YouTube demo उपलब्ध है
  • AnyPlex और VT2D power demos फिलहाल केवल Windows पर चलाए जा सकते हैं
    • vtm --run test
  • HybridTUI, यानी HTUI app examples concept के रूप में उपलब्ध हैं
    • vtm --run calc
    • vtm --run text
    • vtm --run gems

Supported platforms और limitations

  • Windows

    • Windows 8.1 या बाद के versions support करता है
    • Windows Server Core और Windows PE शामिल हैं
  • Unix-like

    • Linux
    • macOS
    • FreeBSD
    • NetBSD
    • OpenBSD
    • POSIX-oriented operating systems की series
    • Tested Terminals की list अलग से उपलब्ध है
    • फिलहाल native GUI window rendering केवल Windows platform पर संभव है
    • Unix-like platforms पर terminal emulator की जरूरत होती है

Distribution और documentation

इस्तेमाल की गई technologies

1 टिप्पणियां

 
GN⁺ 2025-03-09
Hacker News की राय
  • 5 साल पहले एक बड़ा thread हुआ था: https://news.ycombinator.com/item?id=24243521

    • लगता है उस thread का मुख्य link किसी दुर्भावनापूर्ण actor के हाथ लग गया है
  • शायद मैं कोई obvious बात miss कर रहा हूं, लेकिन जानना चाहता हूं कि यह terminal multiplexer है (tmux जैसा), या tiling terminal emulator है (iTerm जैसा)

    • दोनों नहीं; यह अपनी ही तरह की किसी चीज़ के ज्यादा करीब है। tmux से सबसे ज्यादा मिलता-जुलता है, लेकिन interaction का तरीका graphical window manager को handle करने जैसा ज्यादा है
    • GitHub में embedded YouTube video का title “Tiling Window Manager with Drag&Drop” है, और video देखकर यह ठीक वैसा ही tool लगता है
      समझ नहीं आता कि इसे सिर्फ terminal खोलने तक artificially limit क्यों किया गया है
    • Apollo workstation काफी याद आता है
    • मेरे हिसाब से यह tiling वाली category में है
  • बात घूमकर वहीं आ गई। TUI को replace करने के लिए GUI बनाया गया, और फिर TUI के अंदर GUI implement कर दिया गया। terminal ज़िंदाबाद

    • दो बार हो गया। बहुत से terminal Electron या मिलते-जुलते browser interface के ऊपर चलते हैं, इसलिए GUI के अंदर TUI भी implement किया गया है
    • यह DESQview का बदला जैसा लगता है
    • demo video में Borland के Turbo Vision वाली feeling काफी आती है
    • अगर ठीक से करना है तो aalib से भी एक बार होकर गुजरना चाहिए
    • सही है। यह GUI जितना feature-rich बनने की दिशा में इतना झुक रहा है कि पता नहीं terminal से शुरू करने पर जो चीज़ मिलती है, वही खो तो नहीं रही
  • terminal इस्तेमाल करने की वजह शुरू से यही है कि mouse की जरूरत नहीं पड़ती। मैं बहुत सारे TUI tools इस्तेमाल करता हूं, लेकिन यह शायद उनमें से एक नहीं बनेगा

    • अगर i3/sway जैसी tiling behavior और key bindings हों तो शानदार होगा
  • मैं हमेशा सोचता था कि terminal के अंदर TUI-style window manager संभव है या नहीं, और यह सच में बहुत बढ़िया project है। बनाने वाले ने बहुत अच्छा काम किया है

    • मेरे TUI desktop environment को मैं tiling window manager समेत Emacs कहता हूं %) Vim भी शायद वैसा ही experience दे सकता है
    • demo अच्छा दिखता है, लेकिन पहले कुछ बार चोट खा चुका हूं, इसलिए cautious हूं
      सिर्फ सुंदर होना काफी नहीं है
    • क्या यह dvtm जैसा है?
      https://www.brain-dump.org/projects/dvtm/
  • बहुत smooth दिखता है
    हालांकि मेरे नजरिए से windows को drag-and-drop करके resize करने की बड़ी जरूरत Windows environment की आदत जैसी है। इसलिए यह mouse के लिए वही tool हो सकता है जो tmux और Neovim keyboard के लिए हैं
    tmux में मुझे जिन window layouts की जरूरत होती है, वे fixed 2x2 panels के कुछ set होते हैं, और predefined resize तरीके व full-screen toggle काफी होते हैं। telescope और nvim जैसे efficient tools हों तो switching इतनी तेज होती है कि सभी windows को visible तरीके से arrange करने की जरूरत खत्म हो जाती है, और क्या-क्या है इसके लिए visual picture से ज्यादा दिमागी model का इस्तेमाल होने लगता है। उदाहरण के लिए, ज्यादातर IDEs के बाईं तरफ common file tree की जरूरत नहीं रहती

    • पहले मैं भी ऐसा ही सोचता था। आजकल न जाने क्यों defaults और cognitive load कम करने को ज्यादा अहमियत देता हूं, और ऐसी चीज़ पसंद करता हूं जिसमें कम manipulation करके ज्यादा सोच सकूं। अब शायद Eclipse भी ठीक से इस्तेमाल कर पाऊंगा :P
  • कुछ साल पहले ऐसा ही कुछ था, और लगता है वह ssh connection के ऊपर चलता था और zoomable UI जैसी कोई चीज़ भी थी। link नहीं मिल रहा; किसी को कुछ याद आ रहा है क्या?

    • “zoom” से आपका exact मतलब क्या है, पूरी तरह समझ नहीं पाया, लेकिन kitty ऐसा कुछ करता है: kitten ssh user@host से ssh connection खोलें और key दबाएं तो उसी tab में एक और ssh panel खुल जाता है, और जहां तक याद है tab को पूरी window में “zoom” किया जा सकता है
      https://sw.kovidgoyal.net/kitty/
    • यही tool था। पहले इससे ssh के जरिए connect कर सकते थे
      ssh vtm@netxs.online
      अब वह domain dead है
  • काश कुछ web apps ऐसी pure text design language अपनाएं

    • http://www.coboloncogs.org/INDEX.HTM
    • UI में text को strongly emphasize करना Windows Phone में मेरी पसंदीदा चीज़ों में से एक था
  • समझने की कोशिश कर रहा हूं: अगर comparison के लिए मैं tmux इस्तेमाल कर रहा हूं, तो इस पर switch करने से mouse-based window/panel management जुड़ जाएगा?

  • अच्छा होगा अगर इन ideas में से कुछ Zellij में आ जाएं