Vtm - टेक्स्ट-आधारित डेस्कटॉप वातावरण
(github.com/directvt)- Vtm एक virtual terminal multiplexer है जो single executable के रूप में आता है; यह CLI apps को wrap करके टेक्स्ट-आधारित डेस्कटॉप बनाता है और TUI व GUI के बीच पुल का काम करता है
- यह native window और standard console दोनों में समान रूप से चलता है, और अनंत nesting को support करता है ताकि कई terminal environments को परतों में इस्तेमाल किया जा सके
vtmdesktop 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 calcvtm --run textvtm --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
- Binary downloads Linux, Windows, macOS के लिए उपलब्ध हैं
- Linux: x86_64, arm64, x86, arm32
- Windows: x86_64, arm64, x86
- macOS: x86_64, arm64
- Documentation items
1 टिप्पणियां
Hacker News की राय
5 साल पहले एक बड़ा thread हुआ था: https://news.ycombinator.com/item?id=24243521
शायद मैं कोई obvious बात miss कर रहा हूं, लेकिन जानना चाहता हूं कि यह terminal multiplexer है (tmux जैसा), या tiling terminal emulator है (iTerm जैसा)
समझ नहीं आता कि इसे सिर्फ terminal खोलने तक artificially limit क्यों किया गया है
बात घूमकर वहीं आ गई। TUI को replace करने के लिए GUI बनाया गया, और फिर TUI के अंदर GUI implement कर दिया गया। terminal ज़िंदाबाद
terminal इस्तेमाल करने की वजह शुरू से यही है कि mouse की जरूरत नहीं पड़ती। मैं बहुत सारे TUI tools इस्तेमाल करता हूं, लेकिन यह शायद उनमें से एक नहीं बनेगा
मैं हमेशा सोचता था कि terminal के अंदर TUI-style window manager संभव है या नहीं, और यह सच में बहुत बढ़िया project है। बनाने वाले ने बहुत अच्छा काम किया है
सिर्फ सुंदर होना काफी नहीं है
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 की जरूरत नहीं रहती
कुछ साल पहले ऐसा ही कुछ था, और लगता है वह ssh connection के ऊपर चलता था और zoomable UI जैसी कोई चीज़ भी थी। link नहीं मिल रहा; किसी को कुछ याद आ रहा है क्या?
kitten ssh user@hostसे ssh connection खोलें और key दबाएं तो उसी tab में एक और ssh panel खुल जाता है, और जहां तक याद है tab को पूरी window में “zoom” किया जा सकता हैhttps://sw.kovidgoyal.net/kitty/
ssh vtm@netxs.onlineअब वह domain dead है
काश कुछ web apps ऐसी pure text design language अपनाएं
समझने की कोशिश कर रहा हूं: अगर comparison के लिए मैं tmux इस्तेमाल कर रहा हूं, तो इस पर switch करने से mouse-based window/panel management जुड़ जाएगा?
अच्छा होगा अगर इन ideas में से कुछ Zellij में आ जाएं