
- tmux एक ही विंडो के भीतर एक साथ कई टर्मिनल सत्रों को चलाने, विभाजित करने और प्रबंधित करने में सक्षम बनाता है, जो विकास, सिस्टम प्रशासन और दूरस्थ कार्य परिदृश्यों के लिए लचीलापन प्रदान करता है।
- tmux की मूल अवधारणाएं—सेशन, विंडो और पेन—एक शक्तिशाली संगठनात्मक संरचना प्रदान करती हैं जो डिफ़ॉल्ट टर्मिनल अनुप्रयोगों की तुलना में उत्पादकता और वर्कफ़्लो अनुकूलन को कहीं अधिक बढ़ाती है।
- tmux सेशन कनेक्शन टूटने या खो जाने के बाद भी बने रहते हैं, जिससे सुरक्षित और निर्बाध SSH वर्कफ़्लो के साथ-साथ स्थानीय और दूरस्थ रूप से परिष्कृत मल्टीटास्किंग की सुविधा मिलती है।
- व्यापक कॉन्फ़िगरेशन, स्क्रिप्टिंग, प्लगइन्स और कीबोर्ड शॉर्टकट उपयोगकर्ताओं को व्यक्तिगत और व्यावसायिक आवश्यकताओं के अनुसार tmux को अनुकूलित करने, Vim जैसे टूल के साथ एकीकृत करने, कई परियोजनाओं के लिए वर्कफ़्लो बनाने और कमांड-लाइन दक्षता बढ़ाने में सक्षम बनाते हैं।
अगर आपने कभी एक साथ कई टर्मिनल विंडो खोलने की कोशिश की है, रिमोट मशीन पर SSH करते समय अपना काम न खोने की पुरजोर कोशिश की है, या चाहते हैं कि आपका कमांड-लाइन वर्कफ़्लो किसी सुव्यवस्थित कंट्रोल रूम की तरह हो, तो tmux नाम का टूल आपकी ज़िंदगी बदल सकता है। कैज़ुअल डेवलपर्स और कमांड-लाइन के माहिर यूज़र्स, दोनों के लिए tmux एक मल्टीपर्पस टूल है: यह आपको कई टर्मिनल एनवायरनमेंट खोलने, मैनेज करने, अलग करने और सेव करने की सुविधा देता है—कोई अव्यवस्था नहीं, बस उत्पादकता। लेकिन आखिर tmux है क्या? अगर आप इसकी खूबियों और खूबियों को अपना लें, तो यह आपको क्या-क्या दे सकता है?
चलिए, एक उदाहरण लेते हैं: आप पूरी तरह से काम में मग्न हैं, चारों ओर टैब खुले हैं, SSH कनेक्शन खुले हैं, कई प्रोसेस चल रहे हैं, शायद कहीं Vim सेशन चल रहा हो और कहीं शेल स्क्रिप्ट। अचानक, आपका इंटरनेट बंद हो जाता है, या आप कंप्यूटर बदलते हैं, या आप बस उन सभी खुली हुई विंडोज़ के बीच खो जाते हैं। tmux की मदद से, आप न केवल अपने चल रहे प्रोसेस को ऐसी परेशानियों से बचा सकते हैं, बल्कि आप अपने टर्मिनल को पहेली के टुकड़ों की तरह विभाजित कर सकते हैं, वर्कस्पेस के बीच आसानी से स्विच कर सकते हैं और बिना किसी रुकावट के काम फिर से शुरू कर सकते हैं—चाहे आप किसी भी मशीन या टर्मिनल एमुलेटर का उपयोग कर रहे हों। चाहे आप टर्मिनल मल्टीप्लेक्सर की अवधारणाओं से नए हों या उन्नत स्थितियों के लिए tmux स्क्रिप्टिंग में पहले से ही निपुण हों, यह गाइड हर बटन दबाने का अधिकतम लाभ उठाने में आपकी मदद करेगी।
tmux क्या है? टर्मिनल मल्टीप्लेक्सर को समझना
tmux, जिसका पूरा नाम 'टर्मिनल मल्टीप्लेक्सर' है, एक ऐसा प्रोग्राम है जो आपको एक ही विंडो या रिमोट कनेक्शन के भीतर कई स्वतंत्र टर्मिनल सेशन चलाने और नियंत्रित करने की सुविधा देता है। आप उन्नत वातावरणों में tmux का और अधिक उपयोग करने के तरीके जानने के लिए इस संसाधन को भी देख सकते हैं (https://www.ikkaro.net/android-17-linux-terminal/)।
लोग tmux को इतना पसंद क्यों करते हैं? इसके कई व्यावहारिक कारण हैं:
- समवर्ती कार्य वातावरण: आप एक पैनल में एडिटर, लॉग्स, सर्वर रनिंग और दूसरे में परफॉर्मेंस मॉनिटरिंग कर सकते हैं।
- हठ: आपका टर्मिनल बंद हो जाए, डिस्कनेक्ट हो जाए या आप कुछ देर के लिए दूर चले जाएं, तब भी प्रक्रियाएं चलती रहती हैं। आप बीच में छोड़कर बाद में वहीं से शुरू कर सकते हैं जहां आपने छोड़ा था।
- दूरदराज के काम: विशेष रूप से SSH पर, tmux सर्वर पर सेशन को चालू रखकर नेटवर्क बंद होने की स्थिति में आपके काम को नष्ट होने से बचाता है।
- अनुकूलन: Tmux को व्यापक कॉन्फ़िगरेशन विकल्पों, स्क्रिप्टिंग क्षमताओं और प्लगइन्स के साथ अत्यधिक अनुकूलन योग्य बनाया गया है, जिससे यह कई शक्तिशाली उपयोगकर्ता टूलकिट में एक अनिवार्य उपकरण बन गया है।
संक्षेप में, tmux सिर्फ टर्मिनल को विभाजित करने की सुविधा ही नहीं देता—यह आपके काम में व्यवस्था, सुविधा और एक सशक्त संगठनात्मक ढांचा लाता है, जिससे एक साधारण शेल CLI के लिए एक मजबूत डेस्कटॉप वातावरण जैसा बन जाता है। यदि आपने GNU Screen का उपयोग किया है , तो tmux इसी तरह के विचारों पर आधारित है, लेकिन इसमें स्वच्छ, अधिक आधुनिक कोड और बेहतर विस्तारशीलता है।
बुनियादी अवधारणाएँ: सत्र, विंडो और फलक
tmux को सही मायने में समझने के लिए, आपको तीन मुख्य अवधारणाओं को समझना होगा जो इसके संचालन को सुचारू बनाती हैं: सेशन, विंडो और पेन। एक बार जब आप इन अवधारणाओं को अच्छी तरह समझ लेंगे, तो आप कुछ ही समय में कस्टम टर्मिनल वर्कस्पेस डिज़ाइन कर सकेंगे।
सत्र
tmux में सेशन आपका शीर्ष-स्तरीय कंटेनर होता है। हर बार जब आप tmux शुरू करते हैं, तो एक नया सेशन बनता है। सेशन अलग-अलग प्रोजेक्ट, रिमोट कनेक्शन या वर्कफ़्लो को दर्शा सकते हैं। आप बैकग्राउंड में कई सेशन चला सकते हैं, जिनमें से प्रत्येक बाहरी दुनिया से तब तक डिस्कनेक्ट रहता है जब तक आप उससे जुड़ने (या स्विच करने) का निर्णय नहीं लेते।
- सेशन = विंडोज़ और उनके फलकों का संग्रह।
- यदि आप टर्मिनल को डिस्कनेक्ट या बंद कर देते हैं तब भी वे सक्रिय (और चलते) रह सकते हैं।
- फिर आप कहीं से भी किसी भी सेशन से दोबारा जुड़ सकते हैं—यह ऐसा है जैसे आप अपने पूरे CLI वर्कस्पेस को डिवाइस या टर्मिनल के बीच टेलीपोर्ट कर रहे हों।
अपने वर्कफ़्लो को बेहतर बनाने के लिए इन टर्मिनल गाइडों में tmux और अन्य कमांड का अधिकतम लाभ उठाने का तरीका जानें ।
विंडोज
प्रत्येक सेशन के भीतर, tmux विंडोज़ का उपयोग करके आपके काम को व्यवस्थित करता है। प्रत्येक विंडो एक फुल-स्क्रीन टर्मिनल की तरह काम करती है जिसे पैन में विभाजित किया जा सकता है। आप विंडोज़ बदल सकते हैं, उन्हें नाम दे सकते हैं (उदाहरण के लिए, 'deployment', 'logs', 'editor'), और उन्हें अपने सेशन के भीतर अलग-अलग वर्कस्पेस के रूप में उपयोग कर सकते हैं।
- विंडो = एक या एक से अधिक पैन का समूह, जो किसी कार्य या आपके प्रोजेक्ट के उपसमूह को दर्शाता है।
- विंडो स्विच करना तुरंत होता है और सामग्री सक्रिय रहती है—यदि आप किसी बिल्ड को चालू छोड़ देते हैं, तो जब आप दूसरी विंडो में काम कर रहे हों तब भी वह चलता रहेगा।
- विंडोज़ में इंडेक्स (संख्यांकित, या वैकल्पिक कस्टम नाम) होते हैं, जिनका उपयोग आप शॉर्टकट और नेविगेशन के लिए कर सकते हैं।
पैनलों
पैन्स ही वह जगह है जहाँ मल्टीटास्किंग असलियत में संभव हो पाती है। एक विंडो के भीतर, आप दृश्य को कई 'टाइल्स' या पैन्स में विभाजित कर सकते हैं, जिनमें से प्रत्येक अपना अलग प्रोग्राम, कमांड या शेल चला सकता है। आप उन्हें क्षैतिज या लंबवत रूप से विभाजित कर सकते हैं, उन्हें स्थानांतरित कर सकते हैं, उनका आकार बदल सकते हैं और आवश्यकता पड़ने पर उन सभी में इनपुट को सिंक भी कर सकते हैं।
- पेन = किसी दिए गए सत्र की विंडो के भीतर चल रहा एक व्यक्तिगत टर्मिनल।
- इन्हें विभाजित किया जा सकता है, इनका आकार बदला जा सकता है, इन्हें बड़ा/छोटा किया जा सकता है और इन्हें स्वतंत्र रूप से स्थानांतरित किया जा सकता है।
- आप प्रत्येक फलक के साथ इस प्रकार बातचीत कर सकते हैं जैसे कि वह स्वयं का एक टर्मिनल हो।
मुख्य बात क्या है? ये सभी एक साथ काम करते हैं: आप काम के लिए एक सेशन रख सकते हैं, जिसमें प्रोजेक्ट या कार्यों के लिए कई विंडो हों, और प्रत्येक विंडो को आपके वर्कफ़्लो के अनुसार पैन में विभाजित किया जा सकता है।
वास्तविक दुनिया के परिदृश्य: tmux इतना बेहतरीन क्यों है?
1. रिमोट डेवलपमेंट और एसएसएच
tmux की सबसे शक्तिशाली विशेषताओं में से एक इसकी दूरस्थ वातावरण में मज़बूती है। कल्पना कीजिए कि आप SSH के माध्यम से किसी दूरस्थ सर्वर से जुड़े हैं और लंबे समय तक चलने वाली प्रक्रियाएँ या बिल्ड चला रहे हैं। tmux के बिना, कनेक्शन टूटने से आउटपुट का नुकसान या रुकावटें आ सकती हैं। tmux के साथ, आप बस अपने सेशन से डिस्कनेक्ट हो जाते हैं, और बाद में (कई दिनों बाद भी) फिर से कनेक्ट होकर वहीं से काम शुरू कर सकते हैं जहाँ आपने छोड़ा था—आपकी प्रक्रियाएँ बिना किसी रुकावट के चलती रहती हैं।
2. एकाधिक परियोजनाओं और कार्यप्रवाहों का प्रबंधन
कई प्रोजेक्ट्स को एक साथ मैनेज करने वाले डेवलपर्स के लिए tmux बेहतरीन है, जिनमें से प्रत्येक का अपना डायरेक्टरी, डिपेंडेंसी और रनिंग प्रोसेस होते हैं। उदाहरण के लिए, आप 'clientA' नाम से एक सेशन बना सकते हैं, जिसमें 'frontend', 'backend', 'database' और 'logs' के लिए विंडो होंगी। प्रत्येक विंडो को एडिटर, टेस्ट और कंसोल आउटपुट वाले पैन में विभाजित किया जा सकता है। 'clientB' पर स्विच करना है? बस सेशन से अलग होकर अगले सेशन से जुड़ जाएं।
3. एक साथ उपयोग किए जाने वाले उपकरण, संपादक और मॉनिटर
tmux आपके शेल को एक उत्पादकता केंद्र में बदल देता है। हो सकता है आप एक ही समय में लॉग फ़ाइलें देखना, लाइव कमांड चलाना, Kubernetes क्लस्टर की निगरानी करना और कोड संपादित करना चाहें। tmux के साथ, आप पैन को अपनी इच्छानुसार विभाजित कर सकते हैं, और प्रत्येक पैन पूरी तरह से स्वतंत्र होगा। नियमित उपयोगकर्ता अपनी दैनिक दिनचर्या के अनुसार कस्टम लेआउट बनाते हैं—एक पैन में एडिटर, दूसरे में सर्वर आउटपुट और तीसरे में डिप्लॉयमेंट टूल।
4. टीमें, जोड़ी प्रोग्रामिंग और शिक्षण
क्योंकि tmux में एक ही समय में कई क्लाइंट एक सेशन से जुड़ सकते हैं, इसलिए यह पेयर प्रोग्रामिंग के लिए आदर्श है। दो या दो से अधिक लोग एक ही tmux सेशन से जुड़ सकते हैं, लाइव सहयोग कर सकते हैं और एक-दूसरे की गतिविधियों को वास्तविक समय में देख सकते हैं—रिमोट कोड रिव्यू, डिबगिंग या CLI अवधारणाओं को सिखाने के लिए यह एकदम सही है।
आरंभ करना: स्थापना और प्रारंभिक चरण
tmux को कैसे इंस्टॉल करें
tmux लगभग सभी यूनिक्स-जैसे ऑपरेटिंग सिस्टम पर काम करता है—लिनक्स, macOS, *BSD, और यहां तक कि WSL या Cygwin के माध्यम से विंडोज पर भी। अधिकांश लिनक्स डिस्ट्रीब्यूशन पर, आप इसे सीधे अपने पैकेज मैनेजर से इंस्टॉल कर सकते हैं:
- डेबियन/उबंटू:
sudo apt install tmux - फेडोरा/रेड हैट:
sudo dnf install tmux - आर्क लिनक्स:
sudo pacman -S tmux - मैकओएस (होमब्रू के साथ):
brew install tmux
क्या आप इंस्टॉलेशन की जांच करना चाहते हैं? प्रकार tmux -V स्थापित संस्करण देखने के लिए।
tmux सेशन शुरू करना
अपना पहला tmux सेशन शुरू करने के लिए, बस 'tmux' कमांड चलाएँ:
tmux
आप अब एक डिफ़ॉल्ट सत्र (जिसे अक्सर सत्र 0 कहा जाता है) में हैं, जिसमें आपकी पहली विंडो और फलक आपके सामान्य शेल वातावरण के रूप में कार्य कर रहे हैं। आप सामान्य रूप से कमांड चलाना शुरू कर सकते हैं।
अलग करना और पुनः जोड़ना
tmux का असली महत्व तब सामने आता है जब आप अपने सेशन से डिस्कनेक्ट होते हैं और बाद में वापस उससे जुड़ते हैं। अलग करने के लिए, प्रीफ़िक्स कुंजी का उपयोग करें (डिफ़ॉल्ट रूप से)। Ctrl+b(जिसे कभी-कभी 'tmux लीडर' भी कहा जाता है) के बाद d:
Ctrl+b d
आपका tmux सेशन अब बैकग्राउंड में चल रहा है—सुरक्षित है और आपके लौटने का इंतजार कर रहा है।
पुनः जुड़ने के लिए, उपलब्ध सत्रों की सूची बनाएं:
tmux ls
फिर, इसके साथ:
tmux attach -t session_number_or_name
यदि आपके पास केवल एक ही सत्र है, tmux attach या यहाँ तक tmux a पर्याप्त है।
अपने काम को व्यवस्थित करना: सत्र, विंडो और पैनल का विस्तृत विवरण
सेशन बनाना और प्रबंधित करना
आप इस तरह से एक नया सेशन (कस्टम नाम के साथ) बना सकते हैं:
tmux new -s my_session
सभी वर्तमान सत्रों की सूची बनाएं:
tmux ls
किसी विशिष्ट सत्र से संलग्न करें:
tmux attach -t my_session
किसी सेशन को समाप्त करना (tmux के बाहर या अंदर से):
tmux kill-session -t my_session
एक नई विंडो बनाएँ:
Ctrl+b c
विंडोज़ के बीच स्विच करें:
Ctrl+b n # Next window Ctrl+b p # Previous window
संख्या के अनुसार बदलें:
Ctrl+b 0 # Window 0 Ctrl+b 1 # Window 1 ... up to 9
आसान प्रबंधन के लिए किसी विंडो का नाम बदलें:
Ctrl+b ,
पैन: अपने दृश्य को विभाजित करना और प्रबंधित करना
वर्तमान विंडो को लंबवत रूप से विभाजित करें (दाहिनी ओर का फलक):
Ctrl+b %
क्षैतिज रूप से विभाजित करें (नीचे दिया गया फलक):
Ctrl+b "
तीर कुंजियों या अन्य कुंजियों का उपयोग करके पैन के बीच स्विच करें hjkl):
Ctrl+b (Arrow) or Ctrl+b h/j/k/l
पैन को स्वैप या मूव करें:
- पिछले फलक पर जाएं:
Ctrl+b o - पैनल घुमाएँ:
Ctrl+b Ctrl+o - फलक को बाएँ/दाएँ ले जाएँ:
Ctrl+b {औरCtrl+b } - वर्तमान फलक को बंद करें:
Ctrl+b x
पैन को गतिशील रूप से आकार बदलने के लिए Ctrl+b तीर कुंजियों के साथ (बारीक समायोजन के लिए):
- छोटा कदम:
Ctrl+b Ctrl+arrow - बड़ा कदम:
Ctrl+b Alt+arrow
किसी पैनल को फुल स्क्रीन पर ज़ूम करने और उसे पूरी विंडो में भरने के लिए:
Ctrl+b z
उपयोगी मान: tmux के कुंजी संयोजन
tmux की सबसे बड़ी खूबी कीबोर्ड शॉर्टकट के ज़रिए तेज़ नेविगेशन और कंट्रोल में है। यहां कुछ ऐसे शॉर्टकट दिए गए हैं जिनका इस्तेमाल आप रोज़ाना करेंगे:
- tmux लॉन्च करें:
tmux - सेशन को अलग करें:
Ctrl+b d - सत्रों की सूची:
tmux ls - किसी सत्र से जुड़ें:
tmux attach -t session_name - नई विंडो:
Ctrl+b c - अगली/पिछली विंडो:
Ctrl+b n/Ctrl+b p - विंडो का नाम बदलें:
Ctrl+b , - फलक को लंबवत/क्षैतिज रूप से विभाजित करें:
Ctrl+b %/Ctrl+b " - पैन के बीच नेविगेट करें:
Ctrl+b arrowsorCtrl+b h/j/k/l - पेन/विंडो बंद करें:
Ctrl+b x/Ctrl+b & - किसी फलक को ज़ूम करें:
Ctrl+b z - सभी शॉर्टकट दिखाएँ:
Ctrl+b ?
पूरी जानकारी के लिए, मैनुअल या आधिकारिक tmux विकी देखें ।
स्टेटस बार और विज़ुअल कस्टमाइज़ेशन
tmux का इंटरफ़ेस केवल कार्यात्मक होने से कहीं अधिक है—इसे इस तरह से डिज़ाइन किया गया है कि आपको एक नज़र में संदर्भ मिल जाए और स्टेटस बार के माध्यम से आपके वर्कस्पेस तक त्वरित पहुंच प्राप्त हो सके।
स्टेटस लाइन
डिफ़ॉल्ट रूप से, tmux टर्मिनल के निचले भाग में एक स्टेटस बार दिखाता है। स्टेटस बार में आपका सेशन, विंडो के नाम और इंडेक्स, सक्रिय विंडो (आमतौर पर हाइलाइट की हुई) और उपयोगी सिस्टम जानकारी (होस्ट, समय, दिनांक) दिखाई देती है।
- बाईं ओर संलग्न सत्र दिखाया गया है (उदाहरण के लिए, ”)।
- केंद्र में सभी विंडो के नाम, उनके इंडेक्स दिखाए जाते हैं और सक्रिय विंडो को हाइलाइट किया जाता है।
- दाईं ओर वर्तमान होस्ट, समय और तारीख दिखाई देती है।
स्टेटस बार को अनुकूलित करना
स्टेटस बार को अत्यधिक अनुकूलन योग्य बनाया जा सकता है। .tmux.conf विन्यास फाइल। आप अधिक जानकारी प्रदर्शित कर सकते हैं, रंग बदल सकते हैं, बैटरी संकेतक जोड़ सकते हैं, या गतिशील सामग्री के लिए एम्बेडेड कमांड चला सकते हैं। उदाहरण के लिए:
- बार का रंग बदलें:
set -g status-style bg=cyan - निष्क्रिय विंडो का रंग सेट करें:
set -g window-status-style bg=yellow - वर्तमान विंडो को हाइलाइट करें:
set -g window-status-current-style bg=red,fg=white
आप tmux के अंतर्निर्मित फ़ॉर्मेटिंग और एम्बेडेड शेल एक्सप्रेशन का उपयोग करके स्टेटस बार विजेट से लेकर विंडो टाइटल प्रदर्शित करने के तरीके तक, लगभग हर इंटरफ़ेस तत्व के लिए स्क्रिप्ट और स्टाइल बना सकते हैं।
हर कोई कीबोर्ड का ही इस्तेमाल करने का शौकीन नहीं होता—tmux माउस का भी इस्तेमाल कर सकता है। हालाँकि कीबोर्ड शॉर्टकट सबसे तेज़ तरीका हैं, लेकिन आप माउस सपोर्ट को सक्षम करके पैन/विंडो का चयन, आकार परिवर्तन या ड्रैग कर सकते हैं, टैब बदल सकते हैं और कॉन्टेक्स्ट मेनू के साथ इंटरैक्ट कर सकते हैं (tmux 3.x से शुरू)।
- माउस मोड को (अस्थायी रूप से) सक्षम करें: tmux के भीतर से,
Ctrl+b :आंतरिक कमांड लाइन तक पहुंचने के लिए, फिर: set -g mouse on- अब आप पैनल बॉर्डर पर क्लिक करके उन्हें ड्रैग कर सकते हैं, विंडो का चयन कर सकते हैं या राइट-क्लिक पॉप-अप मेनू के साथ इंटरैक्ट कर सकते हैं।
इसे स्थायी बनाने के लिए, इसमें जोड़ें set -g mouse on अपने को .tmux.conf फ़ाइल.
कॉन्फ़िगरेशन: अपने वातावरण पर नियंत्रण रखें
tmux की असली शक्ति तब सामने आती है जब आप इसे अपनी कार्यशैली के अनुरूप अनुकूलित करते हैं। tmux एक कॉन्फ़िगरेशन फ़ाइल का उपयोग करता है—~/.tmux.confकस्टम शॉर्टकट, स्टेटस बार लेआउट, कलर स्कीम, प्लगइन्स और अन्य चीजों को स्टोर करने के लिए।
मुख्य कॉन्फ़िगरेशन विकल्प
-
- प्रीफ़िक्स कुंजी बदलें: If
Ctrl+bयदि यह असुविधाजनक लगता है या अन्य उपकरणों के साथ विरोधाभास पैदा करता है, तो आप इसे बदल सकते हैं, उदाहरण के लिए,Ctrl+a(जैसे GNU Screen) में निम्नलिखित के साथ.tmux.conf:
- प्रीफ़िक्स कुंजी बदलें: If
set -g prefix C-a unbind C-b bind C-a send-prefix
- पैनल के व्यवहार को अनुकूलित करें: उदाहरण के लिए, सिंक्रोनाइज़ेशन चालू करें (एक साथ सभी पैन में टाइप करना) या स्वचालित लेआउट बदलें।
- विंडो और पैन के बीच नेविगेशन कुंजियों को कॉन्फ़िगर करें: आप मानचित्र बना सकते हैं
Alt+arrowsयदि आप चाहें तो पैन के बीच स्विच करने के लिए।
उदाहरण सेटिंग्स में .tmux.conf
# Change status bar color set -g status-style bg=blue # Show only the time on the right set -g status-right '%H:%M' # Underline the current window set -g window-status-current-style 'underscore' # Enable mouse set -g mouse on
अपनी कॉन्फ़िगरेशन को सेव करें और लाइव रीलोड करें:
tmux source-file ~/.tmux.conf
यहां बहुत कुछ जानने-समझने को है। प्रेरणा के लिए, ओपन-सोर्स कॉन्फ़िगरेशन रिपॉजिटरी या विकी देखें।
कमांड-लाइन शक्ति और स्क्रिप्टिंग
tmux केवल मैन्युअल, इंटरैक्टिव उपयोग के लिए नहीं है। यह स्क्रिप्टिंग और ऑटोमेशन के लिए आदर्श है। आप शेल स्क्रिप्ट से सेशन, विंडो और पैन को लॉन्च, अटैच, किल और मैनिपुलेट कर सकते हैं, जिससे tmux मजबूत रिमोट एडमिनिस्ट्रेशन, CI/CD इंफ्रास्ट्रक्चर या रिप्रोड्यूसिबल डेवलपमेंट एनवायरनमेंट (जैसे: कुछ ही सेकंड में टेस्ट, सर्वर और एडिटर के साथ 10 स्प्लिट पैन को तुरंत रीओपन करना) का आधार बनता है।
- प्रोजेक्ट, सर्वर या अस्थायी विकास वातावरण शुरू करने के लिए स्क्रिप्ट सत्र।
- मिलाओ tmux-resurrect पुनः आरंभ करने के बाद पूर्ण लेआउट को सहेजने और पुनर्स्थापित करने के लिए।
- पेन आउटपुट को फाइलों, अन्य प्रोग्रामों में भेजें या इसे वास्तविक समय में दूसरों के साथ साझा करें।
कॉपी, पेस्ट और इतिहास
यदि आप टर्मिनल सत्रों में कॉपी और पेस्ट करने के लिए माउस का उपयोग करते-करते थक गए हैं, तो tmux में स्क्रॉलबैक बफर और क्लिपबोर्ड को प्रबंधित करने के लिए अपनी एक शक्तिशाली प्रणाली है। कॉपी मोड को निम्न कमांड से सक्षम करें:
Ctrl+b नाम वाले और बिना नाम वाले पेस्ट बफर को प्रबंधित किया जा सकता है, और सही कॉन्फ़िगरेशन के साथ, tmux सुचारू रूप से कॉपी और पेस्ट करने के लिए सिस्टम क्लिपबोर्ड के साथ एकीकृत हो सकता है।
यह सिस्टम अनुसंधान, कोड समीक्षा या डेटा प्रोसेसिंग में मदद करता है, जिससे लॉग आउटपुट या परिणामों को बिना किसी परेशानी के कॉपी करना आसान हो जाता है।
उन्नत विशेषताएं: फ्लोटिंग पैन, लेआउट, ट्री मोड और मेनू
फ्लोटिंग पैन (tmux 3.8+)
फ्लोटिंग पैन की मदद से एक पैन को मौजूदा ग्रिड लेआउट के ऊपर सतह पर (पॉप-अप विंडो की तरह) रखा जा सकता है। उपयोग Ctrl+b * एक फ्लोटिंग पेन बनाने के लिए; फिर आप इसे माउस से भी स्वतंत्र रूप से स्थानांतरित और आकार बदल सकते हैं।
लेआउट: एक टैप से व्यवस्थित करें
विभिन्न स्वचालित लेआउट के बीच स्विच करें:
- यहां तक कि क्षैतिज लेआउट भी:
Ctrl+b M-1 - यहां तक कि वर्टिकल लेआउट भी:
Ctrl+b M-2 - मुख्य क्षैतिज भाग (एक बड़ा फलक और अन्य विभाजित):
Ctrl+b M-3 - मुख्य ऊर्ध्वाधर:
Ctrl+b M-4 - खपरैल:
Ctrl+b M-5
ट्री मोड: एक दृश्य ब्राउज़र
ट्री मोड के साथ अपने सेशन, विंडो और पैन को विज़ुअली ब्राउज़ करें:
- इसे शुरू करें
Ctrl+b s(सत्र) याCtrl+b w(विंडोज)। नेविगेट करने, चिह्नित करने, चुनने या एक साथ कई आइटम हटाने के लिए तीर कुंजियों का उपयोग करें। - सूची के नीचे दिया गया पूर्वावलोकन आपको यह पहचानने में मदद करता है कि प्रत्येक फलक/विंडो/सत्र में क्या है।
मेनू और ग्राहक प्रबंधन
tmux में कॉन्टेक्स्ट मेनू और एक क्लाइंट मोड शामिल है, जिसका उपयोग एक ही सेशन से कई कनेक्शनों को प्रबंधित करने के लिए किया जा सकता है। पॉप-अप मेनू के लिए राइट-क्लिक करें और उपयोग करें Ctrl+b D क्लाइंट्स को प्रबंधित करने के लिए (अलग करना, बंद करना, सक्रिय सत्रों का पूर्वावलोकन करना आदि)।
प्लगइन्स: tmux को अगले स्तर पर ले जाएं
tmux की निरंतर लोकप्रियता के पीछे एक रहस्य इसका जीवंत प्लगइन इकोसिस्टम है, जिसे प्लगइन मैनेजर (tpm) के माध्यम से आसानी से प्रबंधित किया जा सकता है । प्लगइन्स की मदद से आप निम्न कार्य कर सकते हैं:
- वर्कस्पेस को सेव और रिस्टोर करें
- रीस्टार्ट होने पर भी स्क्रॉलबैक हिस्ट्री को सुरक्षित रखें tmux-continuum
- स्टेटस बार में सुधार, मौसम, बैटरी और बहुत कुछ पाएं।
इस विस्तारशीलता के कारण tmux टर्मिनल वर्कफ़्लो की हर नई पीढ़ी के साथ तालमेल बनाए रखने में सक्षम है।
पर्दे के पीछे: tmux का सर्वर, क्लाइंट और आर्किटेक्चर
tmux क्लाइंट-सर्वर आर्किटेक्चर पर काम करता है। पहला कमांड चलाने पर tmux सर्वर अपने आप शुरू हो जाता है; आपके सभी सेशन, विंडो और पेन का डेटा सर्वर पर सुरक्षित रहता है, और क्लाइंट (यानी आपके टर्मिनल) बिना किसी रुकावट के कनेक्ट और डिस्कनेक्ट हो जाते हैं।
- सभी सक्रिय स्थिति सर्वर प्रक्रिया द्वारा प्रबंधित की जाती है, यह सुनिश्चित करते हुए कि टर्मिनल बदलते समय (या यहां तक कि कंप्यूटर बदलते समय भी, जब तक आप पुनः कनेक्ट करते हैं) आपका काम कभी नष्ट न हो।
- क्लाइंट वह इंटरफ़ेस है जिसका उपयोग आप tmux के साथ इंटरैक्ट करने के लिए करते हैं। आप एक ही सेशन से कई क्लाइंट कनेक्ट कर सकते हैं—ये सभी एक ही विंडो और पैन को रियल टाइम में देख और एडिट कर सकते हैं।
कॉन्फ़िगरेशन की गहन जानकारी: उन्नत सुझाव
tmux की कॉन्फ़िगरेशन प्रणाली बहुत व्यापक है—यह पर्यावरण चर, एम्बेडेड कमांड और बहुत कुछ संभालती है। कॉन्फ़िगरेशन फ़ाइलें (.tmux.confसर्वर शुरू होने पर इन्हें पार्स किया जाता है, जिससे आपको ये लाभ मिलते हैं:
- कस्टम उपसर्ग, रंग और प्रारूप परिभाषित करें
- चाइल्ड प्रोसेस को एनवायरनमेंट वैरिएबल पास करें
- के मध्य परिवर्तित करो
viऔरemacsकॉपी मोड में शॉर्टकट - जटिल स्वचालन के लिए स्क्रिप्ट और हुक जोड़ें (उदाहरण के लिए, लोड होने पर विशिष्ट प्रोग्राम लॉन्च करना या विशिष्ट ट्रिगर्स पर स्टेटस बार को पुन: कॉन्फ़िगर करना)।
- अपनी कॉन्फ़िगरेशन पर टिप्पणी करें और उसे व्यवस्थित करें ताकि आप इसे किसी टीम के साथ या GitHub पर साझा कर सकें।
बिना रीस्टार्ट किए वैकल्पिक कॉन्फ़िगरेशन लोड करना चाहते हैं? उपयोग करें:
tmux source-file /path/to/file
हालांकि tmux का कॉन्फ़िगरेशन एक पूर्ण स्क्रिप्टिंग भाषा नहीं है, लेकिन इसकी विशेषताएं (जैसे कि वेरिएबल विस्तार, एम्बेडेड कमांड और कंडीशनल) उन्नत उपयोगकर्ताओं के लिए बहुत अधिक लचीलापन प्रदान करती हैं।
कॉपी मोड और पेस्ट बफ़र्स के साथ काम करना
tmux में मानक स्क्रॉलिंग और चयन से परे टर्मिनल आउटपुट को नेविगेट करने और उसमें हेरफेर करने के लिए एक शक्तिशाली कॉपी मोड सिस्टम शामिल है।
- कॉपी मोड में प्रवेश करें
Ctrl+b - नेम्ड पेस्ट बफ़र्स सहित बफ़र्स को मैनेज करें (जैसे कमांड के साथ)
set-buffer,load-buffer,save-buffer) - ग्राफिकल अनुप्रयोगों में आसानी से कॉपी और पेस्ट करने के लिए सिस्टम क्लिपबोर्ड के साथ एकीकृत करें (अतिरिक्त कॉन्फ़िगरेशन या प्लगइन्स के साथ)।
यह सिस्टम अनुसंधान, कोड समीक्षा या डेटा प्रोसेसिंग में मदद करता है, जिससे लॉग आउटपुट या परिणामों को बिना किसी परेशानी के कॉपी करना आसान हो जाता है।
प्रमुख शब्दावली और tmux का पारिस्थितिकी तंत्र
tmux अपनी खुद की अनूठी शब्दावली पेश करता है:
- सत्र: खिड़कियों और शीशों का शीर्ष-स्तरीय संग्रह
- खिड़की: एक सत्र के भीतर पूर्ण-स्क्रीन टर्मिनल, जिसमें फलक शामिल हैं
- फलक: विंडो का उपविभाजन, प्रत्येक उपविभाजन अपना अलग प्रोग्राम चला रहा है
- ग्राहक: टर्मिनल इंस्टेंस tmux सेशन या सर्वर से कनेक्ट हो गया है
- उपसर्ग कुंजी: यह शॉर्टकट डिफ़ॉल्ट रूप से tmux कमांड को ट्रिगर करता है।
Ctrl+b) - स्थिति रेखा: आपके टर्मिनल के निचले भाग (या ऊपरी भाग, यदि कॉन्फ़िगर किया गया हो) में जानकारी।
- वृक्ष मोड: सत्रों, विंडो और फलकों का दृश्य, नौगम्य ब्राउज़र
पूरी जानकारी और कमांड संदर्भों के लिए, विकी देखें।
विकल्प, शैलियाँ और प्रारूप: अपने tmux को परिपूर्ण बनाएँ
tmux की पहचान उसके विकल्पों से होती है—और सैकड़ों उपलब्ध विकल्पों के साथ, आप इंटरफ़ेस के हर पहलू को अपनी पसंद के अनुसार कॉन्फ़िगर कर सकते हैं। कुछ उपयोगी विकल्प इस प्रकार हैं:
- आधार-सूचकांक — विंडो नंबरिंग 1 से शुरू करें
- माउस — माउस सपोर्ट चालू/बंद करें
- स्थिति-स्थिति — स्टेटस बार को ऊपर या नीचे ले जाएं
- रेनंबर-खिड़कियां विंडो डिलीट करने के बाद उन्हें स्वचालित रूप से पुनः क्रमांकित करें
- फोकस-घटनाओं, सेट-शीर्षक, स्थिति-कुंजी — विंडो फोकस, शीर्षक और बार के व्यवहार को समायोजित करें
- शैली कुंजियाँ — डिस्प्ले विशेषताओं और रंगों को परिभाषित करें (से
fg=redसेवा मेरे#ff8800(कस्टम रंगों के लिए)
उन्नत उपयोगकर्ताओं और स्क्रिप्टिंग के लिए tmux
उन्नत उपयोगकर्ता tmux को केवल एक उपयोगिता से कहीं अधिक मानते हैं—यह उनके संपूर्ण कार्य वातावरण की नींव है। स्क्रिप्टिंग की मदद से आप निम्न कार्य कर सकते हैं:
- परियोजनाओं के लिए वातावरण सेटअप को स्वचालित करें
- CI, डैशबोर्ड या मॉनिटरिंग में दोहराए जाने योग्य विंडो और पेन कॉन्फ़िगरेशन चलाएँ
- घटनाओं के आधार पर हुक ट्रिगर करें (उदाहरण के लिए, सत्र संलग्न करते समय निदान चलाना, स्टेटस बार में होने वाले परिवर्तनों को लॉग करना)
- वर्कफ़्लो को स्वचालित करने के लिए कमांडों की श्रृंखला (संयोजन)
new-session; split-window; send-keys, आदि)
जटिल स्क्रिप्टिंग और प्लगइन्स के साथ शुरुआत करने के लिए विकी के उन्नत अनुभाग को देखें।
tmux का अधिकतम लाभ उठाने के लिए सर्वोत्तम अभ्यास
यहां सर्वोत्तम tmux अनुभव के लिए अनुशंसित रणनीतियाँ दी गई हैं:
- व्यापक विषयों के आधार पर सत्रों को परिभाषित करें। (जैसे 'कार्य', 'डेवऑप्स', 'व्यक्तिगत'), जिनमें उपकार्यों के लिए विशिष्ट विंडो और फलक हों।
- त्वरित संदर्भ के लिए हमेशा अपने सत्रों और विंडो को नाम दें। अर्थहीन संख्याओं या स्ट्रिंग्स से जुड़ने से बचें।
- अपने कॉन्फ़िगरेशन को वर्ज़न कंट्रोल के अंतर्गत रखें। ताकि आप इसे पुनर्स्थापित कर सकें या आसानी से अपनी टीम के साथ साझा कर सकें।
- प्लगइन इकोसिस्टम का अन्वेषण करें: TPM इंस्टॉल करें और अपने सेटअप को विस्तारित करने के लिए GitHub पर उपलब्ध रेडी-मेड प्लगइन्स देखें।
- सबसे उपयोगी शॉर्टकट सीखेंये आपकी गति बढ़ाने का गुप्त हथियार हैं, इन्हें याद करना बेहद फायदेमंद है!
- अद्यतन रहना: tmux का सक्रिय रूप से विकास किया जा रहा है, और फ्लोटिंग पैन, ट्री मोड और क्लाइंट प्रबंधन जैसी नई सुविधाएं आपके वर्कफ़्लो को और भी अधिक शक्तिशाली बना सकती हैं।
व्यावहारिक विचारों के लिए कम्युनिटी गाइड, डॉटफाइल और स्क्रीनकास्ट देखें —हर तरह की सीखने की शैली के लिए tmux से संबंधित सामग्री उपलब्ध है।
उपयोगी संसाधन और अधिक जानकारी प्राप्त करने के स्थान
- GitHub पर tmux प्रोजेक्ट
- रेड हैट: tmux के लिए शुरुआती गाइड
- tmux प्लगइन्स प्रोजेक्ट
- lars-ellingsen.dev/blog/tmux
- स्वार्थमोर कॉलेज में tmux गाइड
अगर आप कभी रास्ता भटक जाएं या नवीनतम संस्करण में क्या नया है यह देखना चाहें, तो हमेशा GitHub पर अपडेट देखें या सब्सक्राइब करें।
एंड्रॉइड 17 का लिनक्स टर्मिनल: नई सुविधाओं, अनुकूलन और पावर यूजर अपडेट के लिए संपूर्ण गाइड