سؤال tmux مقابل الشاشة


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


221
2018-01-06 15:20


الأصل


ناقش أيضا في unix.stackexchange.com/questions/549/tmux-vs-gnu-screen - Lloyd Dewolf
في الشاشة ، يمكنك إرسال الأوامر إلى جلسة مرفقة عبر screen -S automate_me -X stuff 'command'$(echo -ne '\015') لا يمكنك في tmux. مفيدة جدا إذا كنت تختبر ISO / virtualboxbox وتحتاج إلى القيام ببعض الأوامر بسرعة عن بعد. على سبيل المثال لدي في الأمر Vim لتصحيح البرامج النصية بسرعة في شاشة Virtualbox. في الإصدارات السابقة من tmux ، وجدت أن الشاشة قد عالجت نصًا أكثر بسرعة ، في حين تحطمت tmux. كما لا تتطلب الشاشة أي تكوين للتعامل مع UTF-8 وما إلى ذلك. - dezza


الأجوبة:


بعض الأسباب الرئيسية (الرئيسية) التي أفضلها tmux على screen:

  • شريط الحالة هو أسهل بكثير للاستخدام. يمكنك بسهولة إعداد نص / أنماط مختلفة للنافذة الحالية ، والنوافذ ذات النشاط ، وما إلى ذلك ، ويمكنك وضع الأشياء على يمين ويسار شريط الحالة ، بما في ذلك أوامر shell التي يمكن تشغيلها في فترة زمنية محددة (15 ثانية افتراضيًا).
  • تقريبا أي قيادة يمكنك تشغيل داخل tmux يمكن تشغيلها من قذيفة مع tmux command [args]. هذا يجعلها قابلة للبرمجة بسهولة ، بالإضافة إلى جعلها سهلة للقيام بالأوامر المعقدة.
  • أكثر دقة إعادة تسمية نافذة التلقائي. في حين screen يعيّن العنوان استنادًا إلى الكلمة الأولى من الأمر ، ويتطلب تهيئة shell للقيام بذلك حتى في إطار shell ، tmux تتبع العمليات التي يتم تشغيلها بالفعل في كل نافذة ، وتحديث العنوان وفقًا لذلك. بهذه الطريقة ، ستحصل على إعادة تسمية ديناميكية باستخدام أي قشرة أو تكوين صفري. على سبيل المثال: لنفترض أنك تشغل Z Shell ؛ اسم النافذة سيكون "zsh". لنفترض الآن أنك تريد تعديل بعض ملفات التهيئة ، بحيث تكتبها sudo emacs /etc/somefile. بينما يطلب sudo كلمة المرور الخاصة بك ، فإن اسم النافذة سيكون "sudo" ، ولكن بمجرد الانتهاء من ذلك و sudo إطلاق emacs، سيكون العنوان "emacs". عندما تنتهي كل شيء وتخرج emacs، سيتغير العنوان إلى "zsh". هذا مفيد جدًا لتتبع النوافذ ، ويمكن أن يكون مفيدًا بشكل خاص في مواقف محددة ، مثل إذا كان لديك بعض العمليات الطويلة في نافذة أخرى تطالبك أحيانًا بإدخال dialog. سيتغير اسم النافذة إلى "مربع حوار" عندما يحدث ذلك ، لذا عليك أن تعرف أنه عليك التبديل إلى تلك النافذة والقيام بشيء ما.
  • التعامل مع جلسة لطيف (IMHO). يمكنك عمل المزيد من خلال الجلسات داخلها tmux بحد ذاتها. يمكنك التبديل بسهولة ، وإعادة تسمية ، وما إلى ذلك ، ويمكنك نقل ومشاركة النوافذ بين الجلسات. كما أن لديها نموذجًا مختلفًا ، حيث يوجد لدى كل مستخدم خادم يتحكم في جلساته أو يتصل بها العميل. الجانب السلبي من هذا هو أنه إذا تعطل الخادم ، فإنك تفقد كل شيء ؛ لم أواجه تحطم الخادم على الإطلاق.
  • tmux يبدو أن أكثر تطورا بنشاط. هناك تحديثات في كثير من الأحيان ، ويمكنك ذلك تقديم تقرير خلل أو طلب ميزة وفقًا لهذه الأسئلة الشائعة والحصول على إجابة في غضون أيام قليلة.

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


146
2018-01-17 20:36



تطوير tmux هو أكثر نشاطا لأنه الجديد. شاشة غنو تقريبًا 25 سنة، لذلك قاموا بتثبيت معظم الخلل. - a paid nerd
تعليق الطالب الذي يذاكر كثيرا المدفوع هو مؤهل مهم جدا للنقطة الأخيرة. والنقطة الثانية كما هو مذكور ليست في الواقع فرقًا لأنها تنطبق أيضًا على الشاشة ما لم تكن أكثر تحديدًا. - jw013
a الذي يذاكر كثيرا techrepublic.com/blog/opensource/is-tmux-the-gnu-screen-killer/... - sjas
apaidnerd هذا بيان غني جدًا: savannah.gnu.org/bugs/... - Błażej Michalik


(جلسات هي مجموعات من شبابيك يمكن فصلها وإعادة توصيلها لاحقًا. قد يحتوي Windows على واحد أو أكثر ألواح. على سبيل المثال التكوينات ، تحقق من هنا و هنا.)

tmux

  • الايجابيات
    • يمكن إرسال مفاتيح إلى أجزاء أخرى ، نوع من مثل IDE
    • مفاتيح مهمة سهلة - مع التكوين الصحيح ، ستشعر في المنزل من Vim أو الشاشة
    • Vim-ish و Emacs-ish الارتباطات المضمنة
    • إدارة تخطيط جيدة ، يشبه إلى حد كبير مدير النوافذ التبليط
    • يبدو Unicode للعمل فقط مع المحطات الحديثة
    • بعض القضايا النهائية الثابتة مع TERM=tmux
  • سلبيات
    • بطيء - غير متأكد من السبب ، لكن ضغطات المفاتيح تبدو بطيئة لا مزيد من القضايا مع البطء
    • يفرض تعدد الإرسال طول وعرض الجلسة بالكامل على أصغر جهاز طرفي متصل
    • تحطمت عدة مرات على نظام التشغيل Mac OS X ، حيث فقدت الجلسة بأكملها
    • لقد فشل في Linux بعد الترقية ، حيث لم أتمكن من إعادة الاتصال بجلستي القديمة
    • يفقد ضغطات المفاتيح في بعض الأحيان - ^ أ ^ [ يأخذ بضع محاولات لوضع النسخ
    • لا يمكن نقل جزء من نافذة إلى أخرى ثابت مع join-pane أمر
    • عدم إلغاء التفاف الخط (أو "إعادة الضبط" أو "إعادة التثبيت") بعد تغيير عرض المحطة الطرفية (تغيير حجم النافذة)

جنو الشاشة

  • الايجابيات
    • مستقر للغاية (v1.0 كان في عام 1987)
    • بعض القضايا النهائية الثابتة مع TERM=screen
    • تجليد Emacs-ish بني في
    • من السهل على التحرك والتحكم في الأفقي
    • عند تعدد الإرسال ، يمكن لأي طرف متصل أن يقوم بتغيير حجم جزء
  • سلبيات
    • لا توجد تقسيمات عمودية بدون رقعة (باستثناء Ubuntu)
    • يتم فقدان انقسامات جزء عند فصل
    • الحصول على Unicode للعمل يتطلب القليل من الدقة والتصميم
    • مجنون خط حالة التكوين

85
2018-05-04 18:28



هل يتم ضغط المفاتيح فقط عند الضغط على Esc؟ tmux لها تأخير حيث أنه ينتظر لمعرفة ما اذا كنت دخول تسلسل تيرم أو مجرد خروج وحيد، وجنبا إلى جنب مع وهمة، يمكن أن يبدو laggy جدا. اضبط وقت الهروب على قيمة أقل مثل 50. - Eevee
إنه أيضًا مضحك ^A ^[ لا يعمل في بعض الأحيان لدي نفس المشكلة مع الشاشة ، ولكن أبدا tmux! وأعتقد أنه يمكنك تحريك الأجزاء معك join-pane. - Eevee
أجد أن الشاشة تستخدم الكثير من الذاكرة ، والتي يمكن إدراجها في عداد الحرمان. - paradroid
حسنا، tmux تمتص مع vim، في بعض الحالات (الألغام بالتحديد) ، أي حل من أي وقت مضى نشر أي مكان يعمل ، وحتى الناس الذين يقضون بعض الوقت في حل مسألة الألغام لم تكن قادرة على. إنه أمر مزعج عندما لا يمكنك استخدامه <C-Left> و <C-Right> في vim. - yo'
No vertical splits without patch (except on Ubuntu) لا أعتقد أن هذا صحيح. لقد كنت أستخدم الشاشة لبضع سنوات حتى الآن ولم يكن لدي أي مشاكل في الفصل أفقيًا أو رأسيًا على دبيان وفيدورا. حتى على نظام Android مع نظام Termux ، يعمل مثل السحر. - Forivin


موالية للشاشة: وهي متوفرة إلى حد كبير خارج نطاق الصندوق على Linux و Solaris. عندما يكون لديك للتبديل ذهابا وإيابا بين منصات ، فمن الجيد عدم وجود تبديل السياق العقلي.

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


10
2018-04-10 18:05





الأشياء التي أخرجها من tmux أنا لا أحصل بسهولة على الشاشة هي:

  1. جعل تقسيم جزء عمودي
  2. تعدد الإرسال ، والتي نستخدمها في الاقتران عن بُعد والمحلي.

8
2018-04-19 17:30



لا شاشة دعم تعدد الإرسال مع -x الخيار و acladd؟ - poolie
كما هو مذكور في النشر السابق ، تحتوي الشاشة على تقسيم للجزء العمودي (يتطلب تصحيحًا مع Ubuntu ، على ما يبدو). أيضا ، تعدد الإرسال يعمل بشكل جيد وله لسنوات عديدة. - EntangledLoops
الانقسامات العمودية كانت في الخط الرئيسي screen منذ 4.2 ، صدر في عام 2014. العديد من السفن distros للغاية الإصدارات القديمة ، وخاصة أبل. - Neal Fultz
كلا النقطتين غير صحيحتين. - Forivin
الإجابة غير صحيحة في 2018 - Alec Istomin


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


8
2018-01-17 16:10





لقد استبدلت جنو الشاشة مع tmux في كل حالة استخدام باستثناء واحدة - عندما أحتاج إلى المحطة الطرفية يعادل الاتصال إلى المنافذ التسلسلية. كما أشار آرون توبونسي في مقاله "الاتصال بمودم Serial Null مع شاشة جنو"، ال tmux التعليمات تنص على:

وقد بنيت شاشة المسلسل ودعم Telnet. هذا هو منتفخ وغير محتمل     ليتم إضافته إلى tmux.

بلدي نموذجي tmux حالة الاستخدام هي إنشاء جلسات تطوير متعددة الشرائح ومتعددة النوافذ بالاشتراك مع tmuxinator. إذا كنت تريد أن تتعلم tmux، أوصي الحصول على كتاب بريان بي هوجان ، tmux: Productive Mouse-Free Development.


4
2018-06-21 15:27





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

Jed Schneider: يمكنك الحصول على تقسيم للجزء الرأسي السيطرة+ا وثم | (شريط عمودي).


1
2017-12-15 22:15





واحد من المشرفين على tmux ، توماس آدم ، هو أيضا المدرجة كمحافظ على screen المشروع على الرغم من أنه لا يلمس سوى رمز tmux ، والذي هو كبير الموالية لل tmux على الشاشة.


0