سؤال Byobu مقابل GNU Screen vs. tmux - فائدة ونقل المهارات [مغلقة]


حتى الآن لقد استخدمت كونسولي لإدارة جلسات shell متعددة ولكني لم أحاول Byobu، جنو الشاشةو tmux، والتي تقدم دعما أفضل لقذائف متعددة. يشترك جميعًا في ميزة رئيسية واحدة ، وهي السماح بفصل الجلسة الحالية وإعادتها لاحقًا إلى تلك الجلسة القديمة.

لمساعدتي في اختيار أداة للتعلم ، أود أن أعرف: كيف تختلف في النواحي التالية؟

  1. ميزات (من الواضح)
  2. نضج المشروع. لا أريد أن أتعلم أداة تتغير كثيرًا. التحسينات مرحب بها ، لكني لا أحب المفاجآت مثل ميزات الاختفاء.
  3. منحنى التعلم
  4. التوفر في منصات مختلفة. إذا تعلمت أداة ، أود أن أكون قادرًا على استخدامها على خادم FreeBSD أو سطح مكتب SuSE أو Ubuntu.
  5. التوافق مع برامج shell التفاعلية الأخرى. هل ما زال بإمكاني استخدام vim و emacs -nw (وضع غير نافذة ، أو وضع النص) بنفس الطريقة التي اعتدت عليها؟ هل ستتعارض اختصارات لوحة المفاتيح مع اختصارات الأدوات الأخرى؟

لقد جربت كل منهم و Byobu يشبه نوع من الواجهة الأمامية لشاشة GNU و tmux. إذن لماذا قام شخص ما بإنشاء Byobu بدلاً من المساهمة في مشروع شاشة جنو وإضافة ميزات جديدة؟ لماذا ليس Byobu نوعا من وضع واجهة متقدمة في جنو الشاشة؟ إذا كنت أستخدم Byobu كأداة يومية مع شاشة جنو كخلفية ، هل يمكنني نقل هذه المعرفة لاستخدام شاشة جنو بدون Byobu إذا كان هناك جهاز معين يحتوي فقط على شاشة جنو؟


81
2018-05-11 12:32


الأصل


تعليق سؤالي الخاص. بعد أن نشرت ، رأيت للتو عدد المرات التي استخدمت فيها كل علامة في StackExchange: gnu-screen: 199 مرة tmux: 125 مرة byobu: 18 مرة هل يعني ذلك أن byobu لا يزال غير شائع؟ أو أن byobu هو الحدس بحيث لا أحد لديه أي سؤال حول كيفية استخدامه؟ - Keitai
لان byobu هو مجرد شوكة screen مع ميزات اضافية ، لذلك gnu-screen تنطبق العلامة. - grawity
وفقا للوثائق (manpages.ubuntu.com/manpages/precise/en/man1/byobu.1.html) التكوين الافتراضي لـ Byobu هو استخدام tmux كخلفية افتراضية. إذا كان byobu عبارة عن شوكة من شاشة gnu ، فهل يعني ذلك أن tmux أفضل من شاشة gnu؟ - Keitai
مثير للاهتمام ، لم أكن أعلم أنه يدعم tmux الآن ، على الرغم من أنه لا يزال مجرد برنامج ملحمي - ولا حتى شوكة على ما يبدو. لكن نعم ، tmux في بعض الطرق أفضل من الشاشة (على الأقل الأسئلة الشائعة يدعي ذلك). - grawity
Byobu ليس مفترق أي شيء! إنها طبقة فوق الشاشة و Tmux ، تشبه Gnome / KDE كونها طبقة فوق Xorg. - Dustin Kirkland


الأجوبة:


لشاشة Tmux vs GNU ، اقرأ

والعديد من تجسيدات المقارنة الأخرى التي يمكن العثور عليها في المدونات.

بعض المصطلحات العامة التي يتم تكرارها:

  • Tmux هو الأحدث. وهذا يعني أنه مربي أكثر بقليل (تقسيم رأسي بسيط وخطوط خضراء جميلة) واختبار أقل قليلاً على سبيل المثال. التوافق (إلى حد ضئيل وفقا لمقدميه).
  • Tmux هو أصغر حجما على الموارد.
  • تم العثور على جنو الشاشة في كل مكان ، وعلى الأرجح لا يزال أكثر استخداما.

وبصرف النظر عن هذا ، يمكن للمرء أن ينظر إلى وظائف محددة لواحد أو بديل آخر ، وسوف الأفضلية الشخصية تسيطر على المناقشة. أنا شخصيا اعتدت على استخدام جنو الشاشة بكثافة - الآن أستخدم Tmux.

لم أجد Byobu أن يكون لدي أي "ميزات قاتلة" بالنسبة لي. يوفر تجريدًا حيث أعتقد أنه لا توجد حاجة لحالات الاستخدام الخاصة بي.


هناك طريقة أخرى للنظر إليها هي أن نلاحظ أن Byobu يمكن أن تستخدم أي من جنو الشاشة أو Tmux كخلفية ، مما يدل على أن الاختلافات من POV المستخدم هي في الغالب سطحية.


26
2018-05-11 13:07





سؤال عظيم! لما يستحق ، أنا مؤلف ومدير Byobu.

Byobu هي طبقة تكوين ، كتبت في الأصل للجلوس على قمة جنو الشاشة، ولكن الآن يعمل أيضا على رأس Tmux.

بدأت في كتابة Byobu مرة أخرى ديسمبر من عام 2008، كما التقيت مع حفنة من مستخدمي الشاشة و Ubuntu Server في غوغل ووجدت ذلك الكل حافظنا على مجموعة خاصة بنا من الاختراق أنيق / متعة / مفيدة في أعمالنا ~/.screenrc تكوينات. وكان علينا أن ننتقل يدويًا بين العشرات أو المئات من الخوادم التي استخدمناها. بدأنا بتداول النصائح والحيل ، وبدأت في جمعها في النسخة الأصلية GLPv3 من مشروع يسمى "ملامح الشاشة". بعد حوالي 6 أشهر ، تطور مجتمع بأكمله حول "لمحات-الشاشة"وأصبح المشروع أكثر بكثير من مجرد قرصنة شاشة - كان لدينا أدوات تهيئة ومكوّنات إضافية للحالة المباشرة و keybindings. لذلك نحن أعاد تسمية المشروع "Byobu" ، وهي عبارة عن كلمة يابانية لتلك "الشاشات" الأنيقة القابلة للطي ، ولها ميزة إضافية تتمثل في قدرتها على تحقيق نجاح أكبر في Google لـ "Byobu $ FOO" من "شاشة $ FOO".

مع Byobu الآن في معظم توزيعات لينكس (أوبونتو، ديبيان، فيدورا، قوس) ، وهي تعمل على معظم أجهزة Macs / BSDs و UNIXes الأخرى ، وتعطي نفس الشكل والمظهر ، و keybindings مريحة ، ومعلومات حالة النظام الديناميكي في أي محطة قد تحتاج إلى الوصول إليها.

لماذا لا نساهم في مشروع جنو؟ وهناك عدة أسباب ... كل ما يعمل Byobu فقط فضلا عن خيارات التكوين. لا شي منه الاحتياجات ليتم تضمينها في قاعدة مصدر الشاشة لتكون وظيفية. قد تعمل بعض الأشياء بشكل أفضل أو تؤدي أجمل إذا كانت الشاشة تتضمنها بشكل افتراضي ، ولكن العديد من التغييرات "متفق عليها" ، والتي عادة ما تكون صعبة أو مستحيلة للمساهمة في 25 عاما مشروع المنبع. أيضا ، مشروع جنو للشاشة يتحرك ببطء شديد ، على كل حال. عمرها أكثر من 25 عامًا ولم يكن لديها إصدار رسمي منذ ذلك الحين أغسطس 2008. كل توزيعة تحمل مجموعة ضخمة من الرقع فقط للحفاظ على عمل / usr / bin / screen وآمن. على سبيل المثال ، يحمل Ubuntu و Debian حاليًا 19 كيلوبًا من الكود في ~ 48 بقع.

تعلمت من Tmux منذ حوالي 2 سنوات ، ووقعت بالفعل في الحب مع شفرة المصدر والتصميم والواجهة والمجتمع النشط! كان لدي وقت أسهل بكثير إصلاحات المساهمة إلى المنبع Tmux ومناقشة الموضوعات في القائمة البريدية. وباعتباري مستخدم Byobu الذي يستخدمه في كل مكان ، كنت أرغب في الحصول على نفس الشكل والمظهر لجلسات Tmux كما اعتدت على الاستمتاع في 4 أعوام من Byobu. لذا أنا استدار كل من كود Byobu للعمل بشكل جيد على قدم المساواة مع Tmux مثل الخلفية ، وشاشة. اعتبارا من Byobu 5.0 الإصدار، Tmux هو الآن الواجهة الخلفية الافتراضية ، مع استمرار دعم الشاشة في وضع قديم. تستفيد Byobu الآن من العديد من الميزات الحديثة لـ Tmux على الشاشة ، بما في ذلك دعم 256 لونًا محسّن بشكل كبير ، وأرقام UTF8 ، وتقسيم النوافذ الأفقي / العمودي.

إذا كنت راضيًا عن الإعدادات الافتراضية في الشاشة أو Tmux ، أو كنت ترغب في كتابة ملفات التكوين الخاصة بك من البداية ، ثم بكل الوسائل ، فإن الشاشة و Tmux بمثابة أدوات مساعدة رائعة أضافت سنوات عديدة من الكفاءة لحياتنا. إذا كنت مهتمًا بمجموعة من التكوينات التي تعمل على توسيع وتوسيع نطاق ما تقوم به الشاشة و Tmux من خارج الصندوق ، فقم بإلقاء نظرة على Byobu!

في صحتك، داستن


241
2018-05-11 15:51



تفسير جيد. مدهش أن الشاشة مصححة بشدة - هل تحتاج إلى مشرف جديد أو شيء ما؟ و byobu عظيم - شكرا. - nealmcb
أتمنى أن أتمكن من التصويت مرتين. لقد كنت أستعمل byobu منذ سنوات ، وقد علمت مؤخراً فقط عن التعقيد الذي كان يخبئني من كل هذا الوقت. - Jamie Cook
أنا دائما استخدام CTRL+` as escape. With الشاشة و tmux هذا يعمل مثل السحر ، ولكن ليس مع byobu(ديبيان 7.1 Wheezy). - Tino
الآن screen قد حصلت على مشرف جديد ويبدو أن التنمية قد التقطت البخار ، هل الأشياء تتغير؟ - muru
ألا يمكن لتلك الافتراضات العديدة أن تجعله مشروع tmux الأصغر؟ يبدو أن الجواب يفتقد إلى فقرة "لماذا لا نساهم في مشروع tmux؟" xkcd.com/927 - user2707671


من حالة الاستخدام الفعلي ، فإن أكبر الفرق بين screen و tmux هو كيفية التعامل مع النوافذ المنقسمة.

نافذة في screen هي محطة زائفة واحدة. عندما تعلق على screen جلسة ، يمكنك تقسيم الطرفية الخاصة بك إلى مناطق متعددة ، كل منها يمكن عرض screen نافذة او شباك. يمكن لمناطق متعددة عرض نفس النافذة. الانقسامات ليست جزءًا من الجلسة ؛ إذا فصلت ، فستنتهي انشقاقاتك.

نافذة في tmux يتكون من واحد أو أكثر من المطاريف الزائفة ، واحدة لكل جزء. هذا يعني أن الأجزاء تستمر إذا فصلت وأعدت في وقت لاحق. ويعني أيضًا أنه يمكنك عرض نافذة واحدة فقط في كل مرة tmux، ولا يمكن مشاركة الأجزاء بين نوافذ متعددة. tmux هل السماح إلا أن هناك نافذة يمكن مشاركتها بين الجلسات المتعددة.

انا افضل النموذج المستخدم من قبل tmuxلكن لم أستطع القول أنه أفضل من النموذج المستخدم من قبل screen.


12
2018-05-11 15:38



الحجة الموالية tmux هل دويتشه بان. ركوب قطار سريع ، في محاولة للعمل أكثر ssh باستخدام اتصال المحمول وسوف ترى بسرعة أن tmux النموذج أعلى بكثير ، لأنه بعد انقطاع الاتصال المتكرر لا تحتاج إلى إعادة ترتيب جميع الأجزاء في Jumphost الخاص بك بعد relogin. SCNR - Tino
إذا كنت تواجه الانقطاعات المتكررة ، أقترح النظر فيها موشي التي يمكن أن تسترد تلقائيا من الإشارة المفقودة ، على عكس ssh - Ciprian Tomoiagă


بالنسبة لي ، كانت أداة التعامل مع tmux هي تنفيذ مشاركة الجلسة.

في شاشة جنو ، إذا سمحت لمستخدم آخر بالاتصال بجلسة ، أو ببساطة جعل جلسة العمل متصلة بأكثر من محطة واحدة ، فيمكنه العمل بشكل مستقل (تبديل الشاشات في جلسة A من المحطة B لا يجعل من المحطة A أيضًا شاشات تبديل الجلسة أ).

ما ورد أعلاه ليس هو الحال مع tmux (بعد؟) أو لم أتمكن من إيجاد طريقة لتغيير السلوك حتى الآن.

إذا كان أحد يعرف طريقة لتغيير هذا السلوك في tmux أو إذا كانت tmux تحديثات لتغيير هذا السلوك أو إعطاء خيار تغيير هذا السلوك الآن ، الرجاء ترك تعليق.


4
2018-06-19 18:38



tmux لديه فكرة عن جلسات "مرتبطة" مع new-session -t shared. يظهر Windows من 'shared' في جلسة العمل الجديدة ، بينما تظهر النوافذ الجديدة في إحدى النوافذ الأخرى ، وإغلاق النافذة في أحد النوافذ يغلقها في الآخر. ومع ذلك ، ما هي النافذة التي يراها كل عميل محددة للجلسة الفعلية التي يعلقها. - chepner