Tmux "बदतर होना ही बेहतर होना" का उदाहरण है
(hiandrewquinn.github.io)क्या tmux बेहतर विकल्प है
tmux का परिचय
- tmux का अर्थ "terminal multiplexer" है, जो टर्मिनल को कई स्वतंत्र shell में विभाजित करने देता है
- यह OpenBSD में डिफ़ॉल्ट रूप से इंस्टॉल आता है
- जो प्रोग्रामर अक्सर SSH का उपयोग करते हैं, उनके लिए उपयोगी है
- ग्राफ़िकल environment के बिना भी स्क्रीन को विभाजित किया जा सकता है
- digital minimalism अपनाने वालों के लिए उपयुक्त है
Kovid Goyal की राय
- Kovid Goyal ePub सॉफ़्टवेयर calibre और टर्मिनल emulator Kitty के डेवलपर हैं
- Goyal को tmux पसंद नहीं है
- उन्होंने अपने FAQ में tmux के बारे में नकारात्मक राय व्यक्त की है
- terminal multiplexer अनावश्यक overhead जोड़ते हैं
- बढ़ी हुई जटिलता के कारण performance में गिरावट आती है
- energy और performance, दोनों के लिहाज़ से यह अक्षम है
- इसका पूरे ecosystem पर नकारात्मक प्रभाव पड़ता है
व्यक्तिगत उपयोग अनुभव
- लेखक घर पर UNIX और काम पर Windows का उपयोग करते हैं
- कई बार SSH का उपयोग करना पड़ने वाली स्थितियों में वे अक्सर tmux इस्तेमाल करते हैं
- tmux अलग-अलग terminal emulator में काम कर सकता है
- Kitty को उस सिस्टम पर चलना होता है, जिस पर remote access किया जा रहा है
"Worse is better" दर्शन
- "Worse is better" सॉफ़्टवेयर दर्शन से अधिक product management दर्शन के करीब है
- इसमें इस बात पर ज़ोर है कि सॉफ़्टवेयर के मुख्य फ़ीचर को सबसे आम use case के लिए optimize किया जाए
- लेखक को व्यक्तिगत रूप से VM पसंद है, लेकिन व्यवहार में वे tmux का अधिक उपयोग करते हैं
निष्कर्ष
- लेखक मुख्य रूप से Windows से remote access का उपयोग करते हैं
- उन्हें tmux के shortcut keys याद हैं
- Kitty के shortcut keys भी बेहतरीन हैं, लेकिन tmux अधिक उपयोगी है
GN⁺ की राय
- tmux उन डेवलपरों के लिए बेहद उपयोगी है जो अक्सर SSH का उपयोग करते हैं। खासकर कई shell को एक साथ चलाने की इसकी क्षमता बड़ा फ़ायदा है।
- Kovid Goyal की राय की तरह, terminal multiplexer performance को प्रभावित कर सकते हैं, लेकिन ज़्यादातर उपयोगकर्ताओं के लिए इसके फ़ायदे अधिक महत्वपूर्ण होंगे।
- Kitty जैसे terminal emulator बेहतर performance दे सकते हैं, लेकिन tmux की सार्वभौमिकता और सुविधा की जगह लेना कठिन है।
- digital minimalism अपनाने वालों के लिए tmux बहुत आकर्षक टूल है। यह बिना graphical environment के भी शक्तिशाली सुविधाएँ देता है।
- tmux और Kitty को साथ में इस्तेमाल करने पर, दोनों टूल के फ़ायदों का अधिकतम लाभ लिया जा सकता है। उदाहरण के लिए, लोकल पर Kitty और remote server पर tmux का उपयोग किया जा सकता है।
1 टिप्पणियां
Hacker News राय
Hacker News टिप्पणियों का संक्षिप्त सार
"मुझे नहीं लगता कि key input को दो बार parse करना CPU cycles की बर्बादी और battery drain का मुख्य कारण है। Kitty में tmux की ज़्यादातर functionality built-in है, लेकिन SSH पर काम करने वालों के लिए यह बहुत मददगार नहीं है। सब कुछ terminal emulator में बाँध देना अनावश्यक feature bloat जैसा लगता है।"
"वास्तव में tmux की ज़रूरत remote persistence की वजह से है। Server connection टूट जाने पर भी मैं अपना vim session खोना नहीं चाहता।"
"tmux का killer feature सिर्फ shell नहीं, बल्कि workspace को persistent रखना है। Kitty और screen इस समस्या को हल नहीं करते। अगर terminal emulator आधारित workspace persistence मिल जाए, तो मैं tmux छोड़ दूँगा।"
"Kitty के developer Kovid Goyal को tmux पसंद नहीं है। Kitty में tmux की ज़्यादातर सुविधाएँ हैं, लेकिन remote persistence नहीं है। Terminal emulator पर निर्भर रहने का मतलब है कि किसी दूसरे emulator पर जाने पर नई muscle memory बनानी पड़ेगी।"
"
screenयाtmuxका बुनियादी इस्तेमाल (शुरू करना, window बनाना और switch करना, reconnect करना) उन लोगों के toolkit का हिस्सा होना चाहिए जिन्हें server पर SSH access चाहिए। खासकर startup में, आपको system समझना और रचनात्मक व कुशल तरीके से काम करना आना चाहिए।""
~/.ssh/configमें settings जोड़कर SSH sessions को एक ही connection पर multiplex किया जा सकता है। पहले session में fingerprint authentication इस्तेमाल करें, और उसके बाद 300 seconds तक बिना authentication के connect किया जा सकता है। Tailscale के ज़रिए offline होने पर भी session बनाए रखा जा सकता है।""SSH की सबसे बड़ी value यह है कि लंबे काम connection टूटने के बावजूद चलते रह सकते हैं। कोई लंबा download लगभग पूरा होने वाला हो और तभी connection टूट जाए, तो यह बहुत निराशाजनक होता है।"
"मैं Windows को host OS की तरह इस्तेमाल करता हूँ और Linux में काम करता हूँ। tmux का इस्तेमाल कई shell चलाने के लिए करता हूँ। Performance issues हैं, लेकिन productivity के लिहाज़ से यह बहुत उपयोगी है।"
"Remote SSH के लिए .ssh/config settings का इस्तेमाल करके remote tmux अपने-आप शुरू कराया जाता है। अस्थिर connection में भी काम बचा रहता है। मैं tmux रोज़ इस्तेमाल करता हूँ और मुझे इसका कोई अच्छा विकल्प नहीं मिला।"
"Kovid की राय तकनीकी रूप से सही हो सकती है, लेकिन usability के मामले में गलत है। Users वही पसंद करते हैं जो उनकी ज़िंदगी आसान बनाए। मैंने zellij आज़माया, लेकिन वापस tmux पर लौट आया। tmux में entry barrier कम है।"