बायोबू बनाम GNU स्क्रीन बनाम tmux - कौशल की उपयोगिता और हस्तांतरण [बंद]


95

अब तक मैंने कई शैल सत्रों को प्रबंधित करने के लिए कोनसोल का उपयोग किया है, लेकिन मैंने बायोबू , जीएनयू स्क्रीन और टीएमएक्स की कोशिश नहीं की है , जो कई गोले के लिए बेहतर समर्थन प्रदान करते हैं। वे सभी एक मुख्य विशेषता साझा करते हैं, जो कि वर्तमान सत्र को रद्द करने और बाद में उस पुराने सत्र को फिर से शुरू करने की अनुमति देता है।

सीखने के लिए एक उपकरण चुनने में मेरी मदद करने के लिए, मैं जानना चाहता हूं: वे निम्नलिखित मामलों में कैसे भिन्न होते हैं?

  1. सुविधाएँ (स्पष्ट रूप से)
  2. प्रोजेक्ट परिपक्वता। मैं ऐसा टूल नहीं सीखना चाहता, जो बहुत ज्यादा बदल रहा हो। वृद्धि का स्वागत है, लेकिन मुझे आश्चर्य नहीं है जैसे गायब होने जैसी विशेषताएं।
  3. सीखने की अवस्था
  4. विभिन्न प्लेटफार्मों में उपलब्धता। यदि मैं एक उपकरण सीखता हूं, तो मैं इसे एक FreeBSD सर्वर, SuSE डेस्कटॉप, या उबंटू पर उपयोग करने में सक्षम होना चाहता हूं।
  5. अन्य इंटरैक्टिव शैल कार्यक्रमों के साथ संगतता। क्या मैं अभी भी ( vimऔर emacs -nwनॉन-विंडो मोड, या टेक्स्ट मोड) का उपयोग कर सकता हूं ? क्या कीबोर्ड अन्य उपकरणों के साथ संघर्ष करेगा?

मैंने बस उन सभी की कोशिश की और बायोबू जीएनयू स्क्रीन और tmux के लिए सामने के छोर की तरह दिखता है। फिर किसी ने GNU स्क्रीन प्रोजेक्ट में योगदान करने और नई सुविधाओं को जोड़ने के बजाय बायोबू को क्यों बनाया? बीएनओयू जीएनयू स्क्रीन में कुछ प्रकार के उन्नत इंटरफ़ेस मोड क्यों नहीं है? यदि मैं बैकबोन के रूप में जीएनयू स्क्रीन के साथ बायोबू को अपने दैनिक उपकरण के रूप में उपयोग करता हूं, तो क्या मैं बायोबू के बिना जीएनयू स्क्रीन का उपयोग करने के लिए इस ज्ञान को स्थानांतरित कर सकता हूं यदि एक निश्चित मशीन में केवल जीएनयू स्क्रीन है?


1
मेरे अपने प्रश्न पोस्ट करने के बाद, मैंने बस देखा कि StackExchange: gnu-screen: 199 बार tmux: 125 बार बायोबू: 18 बार में प्रत्येक टैग का कितनी बार उपयोग किया गया है, क्या इसका मतलब है कि बायोबू अभी भी लोकप्रिय नहीं है? या कि बायोबू इतना सहज है कि किसी को कोई सवाल नहीं है कि इसका उपयोग कैसे करें?
कीताई

1
क्योंकि अतिरिक्त सुविधाओं byobuके screenसाथ सिर्फ एक कांटा है, इसलिए gnu-screenटैग लागू होता है।
grawity

2
प्रलेखन ( manpages.ubuntu.com/manpages/precise/en/man1/byobu.1.html ) के अनुसार ब्योबू का डिफ़ॉल्ट कॉन्फ़िगरेशन डिफ़ॉल्ट बैकएंड के रूप में tmux का उपयोग करना है। अगर बायोबू ग्नू स्क्रीन का कांटा है, तो क्या इसका मतलब है कि tmux ग्नू स्क्रीन से बेहतर है?
कीताई

1
दिलचस्प है, मुझे नहीं पता था कि यह अब tmux का समर्थन करता है, हालांकि यह सिर्फ एक आवरण लिपि है - स्पष्ट रूप से कांटा भी नहीं। लेकिन हाँ, tmux कुछ मायनों में स्क्रीन से बेहतर है (कम से कम उनके अकसर किये गए दावे ऐसा है)।
grawity

22
बायोबू किसी चीज का कांटा नहीं है! यह स्क्रीन के ऊपर और Tmux पर एक परत है, Gnome / KDE के समान है जो Xorg के शीर्ष पर एक परत है।
डस्टिन किर्कलैंड

जवाबों:


32

Tmux बनाम GNU स्क्रीन के लिए, पढ़ें

और कई अन्य तुलना अवतार जो ब्लॉग और इस तरह से मिल सकते हैं।

कुछ सामान्य शब्द जो बार-बार दोहराए जाते हैं:

  • Tmux नया है। इसका मतलब यह है कि यह थोड़ा कट्टर (सरल ऊर्ध्वाधर विभाजन, अच्छी हरी रेखाएं) और उदाहरण के अनुकूलता के लिए थोड़ा कम अच्छी तरह से परीक्षण किया जाता है (इसके समर्थकों के अनुसार नगण्य सीमा तक)।
  • Tmux संसाधनों पर निर्भर है।
  • जीएनयू स्क्रीन हर जगह पाया जाता है और सबसे अधिक शायद अभी भी उपयोग किया जाता है।

इसके अलावा, कोई एक या दूसरे विकल्प के लिए विशिष्ट कार्यों को देख सकता है, और व्यक्तिगत प्राथमिकता चर्चा पर हावी होगी। मैं व्यक्तिगत रूप से GNU स्क्रीन का भारी उपयोग करता था - अब मैं Tmux का उपयोग करता हूं।

मुझे मेरे लिए कोई "हत्यारा विशेषताएं" होने के लिए बायोबू नहीं मिला है। यह एक अमूर्तता प्रदान करता है जहां मेरा मानना ​​है कि मेरे उपयोग के मामलों के लिए किसी की आवश्यकता नहीं है।


इस पर ध्यान देने का एक और तरीका यह है कि बायोबू GNU स्क्रीन या Tmux में से किसी एक का उपयोग बैकएंड के रूप में कर सकता है, जो यह दर्शाता है कि उपयोगकर्ता POV से अंतर ज्यादातर सतही हैं।


268

बड़ा अच्छा सवाल! इसके लायक क्या है, मैं ब्योबू का लेखक और अनुचर हूं ।

बायोबू एक विन्यास परत है, जिसे मूल रूप से GNU स्क्रीन के शीर्ष पर बैठने के लिए लिखा गया है , लेकिन अब यह Tmux के शीर्ष पर भी काम करता है ।

मैंने 2008 के दिसंबर में बियोबू वापस लिखना शुरू कर दिया , जैसा कि मैंने Googleplex में स्क्रीन और उबंटू सर्वर उपयोगकर्ताओं के एक समूह के साथ मुलाकात की और पाया कि हम सभी ने अपने ~/.screenrcकॉन्फ़िगरेशन में नीट / फन / उपयोगी हैक का अपना गुच्छा बनाए रखा । और हमें उन दर्जनों या सैकड़ों सर्वरों के बीच मैन्युअल रूप से घूमना था जिनका हमने उपयोग किया था। हमने ट्रेडिंग टिप्स और ट्रिक्स शुरू किए, और मैंने "स्क्रीन-प्रोफाइल" नामक मूल GPLv3 प्रोजेक्ट में इकट्ठा करना शुरू किया । लगभग 6 महीने बाद, एक पूरा समुदाय " स्क्रीन-प्रोफाइल " के आसपास विकसित हुआ था और यह परियोजना सिर्फ स्क्रीन हैक की तुलना में बहुत अधिक हो गई - हमारे पास कॉन्फ़िगरेशन उपयोगिताओं, लाइव स्थिति प्लगइन्स और कीबाइंडिंग थे। इसलिए हमने परियोजना का नाम बदल दिया "बायोबु", जो उन सुरुचिपूर्ण, तह "स्क्रीन" के लिए एक जापानी शब्द है, और "स्क्रीन $ एफओओ" की तुलना में "बायोबू $ फू" के लिए अधिक सफलतापूर्वक Google में सक्षम होने का अतिरिक्त लाभ है।

सबसे लिनक्स वितरण (अब उबंटू , डेबियन , फेडोरा , आर्क ) में बायोबू के साथ , और अधिकांश मैक / बीएसडी और अन्य यूनिक्स पर कार्यात्मक, यह आपको किसी भी टर्मिनल पर समान लुक-एंड-फील, सुविधाजनक कीबाइंडिंग, डायनेमिक सिस्टम जानकारी देता है। तक पहुँचने की जरूरत है।

जीएनयू स्क्रीन परियोजना में वापस योगदान क्यों नहीं? कारणों की एक जोड़ी ... ब्योबू क्या काम करता है सब के साथ ही विन्यास विकल्प। कार्यात्मक होने के लिए स्क्रीन स्रोत आधार में इसे शामिल करने की आवश्यकता नहीं है । कुछ चीजें बेहतर काम कर सकती हैं या अच्छे प्रदर्शन कर सकती हैं यदि स्क्रीन ने उन्हें डिफ़ॉल्ट रूप से शामिल किया है, लेकिन कई बदलाव बहुत "राय" हैं, जो आमतौर पर 25 साल पुरानी अपस्ट्रीम परियोजना में योगदान करना मुश्किल या असंभव है । इसके अलावा, GNU स्क्रीन परियोजना बहुत धीमी गति से आगे बढ़ रही है, यदि बिल्कुल भी। यह 25+ वर्ष पुराना है, और 2008 के अगस्त से आधिकारिक रिलीज़ नहीं हुआ है । हर वितरण आपके / usr / बिन / स्क्रीन को काम करने और सुरक्षित रखने के लिए पैच के विशाल ढेर लगा रहा है। उदाहरण के लिए, उबंटू और डेबियन वर्तमान में ~ 48 में कोड की 19K लाइनें ले जा रहे हैंपैच

मैंने लगभग 2 साल पहले Tmux के बारे में जाना, और वास्तव में स्रोत कोड, डिज़ाइन, इंटरफ़ेस और सक्रिय समुदाय के साथ प्यार हो गया! मैं बहुत आसान समय के लिए Tmux ऊपर और मेलिंग सूची पर विषयों पर चर्चा में योगदान योगदान दिया है । और एक Byobu उपयोगकर्ता के रूप में जो इसे हर जगह उपयोग करता है, मैं अपने Tmux सत्रों में वही दिखना और महसूस करना चाहता था जैसा कि मुझे 4+ वर्षों के Byobu में आनंद लेने के लिए आया था। तो मैं पोर्ट Byobu कोड के सभी बैकएंड के रूप में Tmux साथ समान रूप से अच्छी तरह से काम करने के लिए, स्क्रीन के रूप में। के रूप में Byobu 5.0 रिलीज , Tmux अब डिफ़ॉल्ट बैकएंड, स्क्रीन के साथ अभी भी एक विरासत मोड में समर्थित है। ब्योबू अब स्क्रीन पर Tmux की कई आधुनिक सुविधाओं का लाभ उठाता है, जिसमें बहुत ही बेहतर 256-रंग समर्थन, UTF8 वर्ण और क्षैतिज / ऊर्ध्वाधर विंडो विभाजन शामिल हैं।

यदि आप स्क्रीन या Tmux में डिफ़ॉल्ट सेटिंग्स से संतुष्ट हैं, या अपनी स्वयं की कॉन्फ़िगरेशन फ़ाइलों को स्क्रैच से लिखना चाहते हैं, तो हर तरह से, स्क्रीन और Tmux शानदार उपयोगिताओं के रूप में, जिन्होंने हमारे जीवन में कई वर्षों की दक्षता जोड़ दी है। यदि आप ऐसे कॉन्फ़िगरेशन के सेट में रुचि रखते हैं, जो वास्तव में फैलता है और विस्तारित होता है कि स्क्रीन और Tmux बॉक्स से बाहर क्या करता है, तो Byobu पर एक नज़र डालें!

चीयर्स, डस्टिन


16
अच्छे खर्च। कमाल है कि स्क्रीन इतनी भारी है - यह एक नया अनुचर या कुछ और की जरूरत है? और बायोबू महान है - धन्यवाद।
nealmcb

10
काश मैं दो बार मतदान कर पाता। मैं वर्षों से बायोबू का उपयोग कर रहा हूं और अभी हाल ही में जटिलता का पता चला है कि यह मुझे इस समय से छिपा रहा है।
जेमी कुक

2
मैं हमेशा CTRL+` as escape. With स्क्रीन का उपयोग tmuxकरता हूं 'और यह एक आकर्षण की तरह काम करता है, लेकिन byobuडेबियन 7.1 व्हीजी के साथ नहीं ।
तिनो

1
अब जब screenएक नया रखवाला मिल गया है और विकास को लगता है कि भाप उठ रही है, तो क्या चीजें बदल गई हैं?
मुरु

क्या उन लोगों की राय चूक इसे छोटी tmux परियोजना नहीं बना सकती है? ऐसा लगता है कि उत्तर में एक पैराग्राफ याद आ रहा है "क्यों नहीं tmux प्रोजेक्ट में वापस योगदान दिया?" xkcd.com/927
user2707671

12

वास्तविक उपयोग के मामले में, सबसे बड़ा अंतर है screenऔर tmuxयह है कि वे विभाजित खिड़कियों को कैसे संभालते हैं।

एक विंडो में screenएक एकल छद्म टर्मिनल है। जब एक screenसत्र से जुड़ा होता है , तो आप अपने टर्मिनल को कई क्षेत्रों में विभाजित कर सकते हैं, जिनमें से प्रत्येक एक screenविंडो प्रदर्शित कर सकता है । एकाधिक क्षेत्र एक ही विंडो प्रदर्शित कर सकते हैं। विभाजन सत्र का हिस्सा नहीं हैं; यदि आप अलग हो जाते हैं, तो आपके विभाजन हो गए हैं।

एक विंडो में tmuxएक या अधिक छद्म-टर्मिनल होते हैं, एक प्रति फलक। इसका मतलब यह है कि अगर आप बाद में अलग हो जाते हैं और रिआटैच करते हैं तो पैन जारी रहता है। इसका यह भी अर्थ है कि आप एक बार में केवल एक विंडो प्रदर्शित कर सकते हैं tmuxऔर यह कि पैन को कई खिड़कियों के बीच साझा नहीं किया जा सकता है। tmuxकरता है की अनुमति देने के लिए एक खिड़की कई सत्रों के बीच साझा करने के लिए, लेकिन।

मैं द्वारा उपयोग किए गए मॉडल को पसंद करता हूं tmux, लेकिन मैं यह तर्क नहीं दे सकता कि यह उपयोग किए गए मॉडल से बेहतर है screen


3
तर्क समर्थक tmuxहै ड्यूश बान । फास्ट ट्रेन की सवारी करें, sshमोबाइल कनेक्शन का उपयोग करके काम करने की कोशिश करें और आप जल्दी से देखेंगे कि tmuxमॉडल कहीं बेहतर है, क्योंकि लगातार कनेक्शन टूटने के बाद आपको रिलॉन्ग करने के बाद अपने पैन पर सभी पैन को फिर से व्यवस्थित करने की आवश्यकता नहीं है। SCNR
Tino

3
अगर आप बार-बार डिस्कनेक्शन सामना कर रहे हैं, मैं में रखने का सुझाव देते mosh जो खो संकेत से स्वचालित रूप से ठीक हो सकता है के विपरीत,ssh
सिपरियन Tomoiagă

4

मेरे लिए, tmux के लिए डील-ब्रेकर सत्र साझाकरण का कार्यान्वयन था।

जीएनयू स्क्रीन में, यदि आप किसी अन्य उपयोगकर्ता को एक सत्र से कनेक्ट करने देते हैं, या बस आपका सत्र एक से अधिक टर्मिनल से जुड़ा हुआ है, तो वे स्वतंत्र रूप से काम कर सकते हैं (स्क्रीन को एक सत्र में स्विच करना टर्मिनल बी से टर्मिनल नहीं बनाता है, स्क्रीन को भी स्विच करें। सत्र ए)।

उपरोक्त tmux के साथ मामला नहीं है (अभी तक?) या मैं अभी तक व्यवहार को बदलने का एक तरीका नहीं ढूंढ सका है।

यदि कोई इस व्यवहार को tmux में बदलने का तरीका जानता है या यदि tmux इस व्यवहार को बदलने के लिए अद्यतन करता है या इस व्यवहार को बदलने का विकल्प देता है, तो कृपया एक टिप्पणी छोड़ दें।


6
tmuxके साथ "लिंक्ड" सत्रों की धारणा है new-session -t shared। नए सत्र में 'साझा' की गई विंडोज एक में दिखाई देती है, दूसरी में नई विंडो दिखाई देती है और एक में विंडो को बंद करने से यह दूसरे में बंद हो जाती है। हालांकि, प्रत्येक ग्राहक जो विंडो देखता है वह वास्तविक सत्र के लिए विशिष्ट है जो इसे संलग्न करता है।
Chepner
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.