كيفية استخدام tmux على Linux (ولماذا هو أفضل من الشاشة)

محطة لينكس منمقة على جهاز كمبيوتر محمول مع جلسات شل في الخلفية.

fatmawati achmad zaenuri / Shutterstock.com



لينكس tmux الأمر هو معدد طرفي ، مثل screen . المدافعون عنها كثيرون وصريحون ، لذلك قررنا المقارنة بين الاثنين. هو tmux حقا أفضل ، أم أنها مجرد حالة تفضيل ما تعرفه؟

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

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





10 أوامر لينكس أساسية للمبتدئين ذات صلة 10 أوامر لينكس أساسية للمبتدئين

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

يمكنك فصل جلسة على كمبيوتر واحد ، والعودة إلى المنزل ، وتسجيل الدخول إلى الكمبيوتر البعيد. عند إعادة الاتصال ، يمكنك إعادة توصيل جلسة الخلفية واستخدامها بشكل تفاعلي مرة أخرى.



ما هو أمر الشاشة؟

ال screen command هو أيضًا معدد إرسال طرفي ، وهو مليء بالخيارات. للحصول على معلومات حول كل ما يمكنك فعله به ، تحقق من مقالتنا المتعمقة .

الإعلانات

هذه المرة ، سنذهب التركيز على tmux . بينما نمضي قدمًا ، سنذكر كيف screen يتعامل مع نفس الميزة أو الوظيفة.

شيء واحد فقط أزعجنا بشأن screen. سنغطي ذلك عندما نصل إليه ، ونرى ما إذا كان tmux فارس أي أفضل.



ذات صلة: كيفية استخدام أمر شاشة Linux

تركيب tmux

بينما screen بشكل عام يتم تثبيته افتراضيًا على توزيعات Linux الشائعة ، tmux ليس كذلك. لتثبيت tmux على Ubuntu ، اكتب ما يلي:

pacman

في Manjaro يمكنك استخدام tmux:

tmux

في Fedora 31 ، tmux مثبت مسبقا.

بدء جلسة tmux

لبدء bash ، ما عليك سوى كتابته واضغط على Enter:

tmux

ستعرض نافذة المحطة الطرفية شريط الحالة عندما تكون في screen حصة.

يُظهر الجانب الأيمن من شريط الحالة اسم المضيف والوقت والتاريخ. يظهر الجانب الأيسر المعلومات المتعلقة بالجلسة التالية:

    [0]:هذا هو اسم الجلسة. بشكل افتراضي ، يتم ترقيمها بدءًا من الصفر. نحن نغطي كيف يمكنك إعطاء أسماء ذات معنى للجلسات أدناه. 0: باش *:يشير الرقم 0 إلى أن هذه هي النافذة الأولى في هذه الجلسة. العملية الوحيدة التي يتم تشغيلها في هذه الجلسة هي tmux. إذا قمت بتشغيل برنامج ، فسيظهر اسمه هنا. علامة النجمة (*) تعني أن هذه هي النافذة التي تنظر إليها. في كل مرة تقوم فيها بإنشاء نافذة جديدة في tmux يتم إضافة الدورة ورقم النافذة الخاصة بها واسم البرنامج الذي يتم تشغيله فيها إلى شريط الحالة.

ال tmux الأمر لا يمنحك شريط الحالة بشكل افتراضي. عليك أن تطير أعمى وتعتمد على ذكائك لمعرفة ما يحدث ، الأمر الذي يتطلب القليل من الممارسة. (إلا انت تكوين شريط الحالة الخاص بك .)

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

الإعلانات

يتم إعطاء الأوامر إلى screen باستخدام ضغطات المفاتيح ، ويتكون هذا من جزأين. أولاً ، تضغط على Ctrl + B لجذب انتباه tmux. ثم تضغط بسرعة على المفتاح التالي لإرسال أمر إلى tmux. يتم إعطاء الأوامر عن طريق الضغط على الأحرف أو الأرقام أو علامات الترقيم أو مفاتيح الأسهم.

إنه نفسه في tmux ، باستثناء الضغط على Ctrl + A لجذب انتباهه.

لإغلاق النافذة ، اضغط على Ctrl + B ، ثم اضغط بسرعة على X. يتحول شريط الحالة إلى اللون الكهرماني. ستتم مطالبتك بعد ذلك بتأكيد رغبتك في إغلاق النافذة.

اضغط Y لإغلاق النافذة أو N إذا غيرت رأيك. ليس عليك الضغط على Enter بعد ذلك ؛ Y أو N كافيان لتسجيل اختيارك.

إذا قمت بالضغط على Y ، يتم إغلاق النافذة. نظرًا لأن هذه هي النافذة الوحيدة في هذه الجلسة ، يتم إنهاء الجلسة.

ال screen تم إغلاق الجلسة وإعادتك إلى سطر الأوامر الذي أطلقت منه tmux. سترى [خروج] في نافذة المحطة.

الإعلانات

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

بدء جلسة tmux المحددة

إذا بدأت بانتظام عدة new من الجلسات ، ستقدر بسرعة وظيفة إعطاء كل منها اسمًا ذا مغزى. يمكنك تسمية الجلسات في -s أيضًا ، لكن لا يتم عرضها في أي مكان في نوافذ الجلسة.

للبدء tmux مع اسم الجلسة ، استخدم dmesg (جلسة جديدة) والأمر -w (اسم الجلسة) الخيار. ستطلق على جلستنا اسم geek-1 ، لذلك نكتب ما يلي:

top

عندما يكون dmesg يتم عرض أحمال الجلسة ، geek-1 كأول إدخال في شريط الحالة ، في أقصى اليسار.

جلسة tmux بالاسم

إضافة المزيد من النوافذ

لإنشاء نافذة جديدة في الجلسة الحالية ، اضغط على Ctrl + B ، ثم C. ستحصل على نافذة طرفية فارغة في الجلسة الحالية. لذلك سيكون لدينا شيء يعمل في هذه النافذة الجديدة ، فلنبدأ في tmux يأمر مع dmesg (متابعة) الخيار:

dmesg

الآن لدينا نافذتان في الجلسة ؛ أحدهما يعمل top والآخر tmux. يمكننا فقط رؤية واحدة في كل مرة (المزيد عن ذلك في لحظة).

الإعلانات

ألق نظرة على الجانب الأيسر من شريط الحالة. ما زلنا في المهوس -1 attach-session حصة. في النافذة صفر ، الجزء العلوي قيد التشغيل ، وفي النافذة الأولى -t يركض. العلامة النجمية (*) بعد screen يخبرنا أي نافذة مرئية.

للتنقل بين النوافذ ، اضغط على Ctrl + B ، ثم أحد المفاتيح التالية:

    ن : اعرض النافذة التالية. ف:اعرض النافذة السابقة. 0 إلى 9:اعرض نافذة مرقمة من 0 إلى 9.

يمكنك أيضًا اختيار نافذة من القائمة. إذا ضغطت على Ctrl + B ، ثم W ، فستظهر قائمة بالنوافذ.

لتحريك شريط التظليل الكهرماني ، اضغط على السهمين لأعلى أو لأسفل ، أو الصفحة الرئيسية ، أو النهاية. يعرض القسم السفلي من الشاشة معاينة للمحتوى في النافذة المميزة.

اضغط على Enter للانتقال إلى النافذة المميزة ، أو اضغط على Esc لمغادرة قائمة النوافذ دون التبديل.

جلسات الفصل والارفاق

إذا قمت بالضغط على Ctrl + B ، ثم D ، فسوف تقوم بفصل الجلسة. سيستمر العمل في الخلفية ، لكنك لن تكون قادرًا على رؤيته أو التفاعل معه.

الإعلانات

لقد بدأنا tmux في الجلسة لذلك لدينا عملية جارية للتوضيح معها. ثم نضغط على Ctrl + B ، ثم D. تختفي الجلسة وتصبح جلسة خلفية.

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

لإرفاق جلسة منفصلة ، سنستخدم الوصف الذاتي tmux الأمر باستخدام dmesg (الجلسة المستهدفة) الخيار. سنقدم أيضًا اسم الجلسة التي نرغب في تذكرها.

نكتب ما يلي:

tmux

تعود جلستنا وتصبح جلسة تفاعلية مرئية مرة أخرى.

ستظل أي عمليات طويلة الأمد أو مستمرة بدأتها قبل فصل الجلسة قيد التشغيل في الخلفية (ما لم تنته) عند إرفاق الجلسة.

tmux يمكن القيام بذلك ، ولكن ليس بشكل حدسي.

التعامل مع جلسات متعددة

لنفتح نافذة طرفية أخرى ، ونبدأ tmux جديدًا جلسة تسمى Geek-2:

screen

في تلك الجلسة ، سنبدأ tmux ls:

uname -a

الإعلانات

الآن ، لدينا المهوس الأصلي -1 ls -hl جلسة ، وجلسة جديدة تسمى geek-2.

يوضح لنا شريط الحالة أن هذه الجلسة تسمى geek-2 ، ولها نافذة واحدة تعمل %).

إذا ضغطنا على Ctrl + B ، ثم D ، فإننا نفصل تلك الجلسة.

جلسة tmux منفصلة Geek-2 في نافذة widnow.

العودة إلى المهوس -1 tmux جلسة ، نضغط Ctrl + B ، ثم S لرؤية قائمة tmux الجلسات.

لنكون واضحين ، هذه قائمة الجلسات. كان العرض المماثل الذي رأيناه سابقًا عبارة عن قائمة من النوافذ في جلسة واحدة.

يمكنك تحريك شريط التظليل الكهرماني بالضغط على السهمين لأعلى ولأسفل والصفحة الرئيسية والنهاية. يعرض القسم السفلي معاينة للمحتوى في الجلسة المميزة.

الإعلانات

إذا قمت بالضغط على السهم الأيمن ، يتم عرض نوافذ الجلسة المميزة.

اضغط على Enter للانتقال إلى الجلسة أو النافذة المميزة أو اضغط على Esc لمغادرة قائمة الجلسات دون تغيير الجلسات. إذا حددت جلسة جديدة ، فسيتم فصل جلستك الحالية وإرفاق الجلسة التي حددتها.

قمنا بفصل جلسة geek-2 قبل أن نفعل ذلك. ومع ذلك ، يمكنك القيام بذلك مع الجلسات التي لا تزال متصلة بنوافذها الطرفية الأصلية. عندما تفعل ذلك ، ستظهر أي تغييرات على الشاشة في آنٍ واحد في كلٍّ من screen الجلسات.

ال screen يمكن للأمر القيام بذلك ، أيضًا ، عبر مجموعة مماثلة من الأوامر.

العمل مع النوافذ

إذا قمت بالضغط على Ctrl + B ، ثم علامات الاقتباس المزدوجة () ، فإنك تقوم بتقسيم النافذة أفقيًا إلى جزأين.

هذا يؤثر فقط على النافذة الحالية ؛ لن يتم تغيير الآخرين في الجلسة. لقد استخدمنا tmux الأمر في الجزء العلوي لسرد النوافذ في هذه الجلسة. هناك نوعان ، ويخبرنا سطر الحالة أننا في النافذة الأولى. إذا قفزنا إلى النافذة صفر بالضغط على Ctrl + B ، ثم 0 (صفر) ، فإننا نراها تمامًا كما تركناها.

الإعلانات

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

نكتب ما يلي:

tmux

screen

للانتقال من جزء إلى آخر ، اضغط على Ctrl + B ، ثم السهم لأعلى أو لأسفل أو لليسار أو لليمين.

أمران مختلفان في جزأين في جلسة tmux في أرملة طرفية.

إذا ضغطت على Ctrl + B ، ثم علامة النسبة المئوية (tmux تقسم الجزء الحالي عموديًا.

اضغط على Ctrl + B ، ثم Q لعمل tmux وميض بإيجاز رقم كل جزء.

يتم استخدام هذه الأرقام في المطالبات والرسائل من tmux. اضغط على Ctrl + B ، ثم X لإغلاق الجزء الحالي. يتغير شريط الحالة إلى اللون الكهرماني ، وستتم مطالبتك بتأكيد رغبتك في إغلاق رقم اللوحة هذا. اضغط على Y لإزالة الجزء ، أو N لترك الأشياء كما هي.

إذا قمت بالضغط على Y ، فسيتم إزالة الجزء.

الإعلانات

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

ورقة الغش Ctrl + B

لقد قمنا بتضمين ورقة الغش للأوامر المختلفة التي يمكنك استخدامها في

sudo apt-get install tmux
أقل.

أوامر الجلسة

    س:قائمة الجلسات. دولار:إعادة تسمية الجلسة الحالية. د:فصل الجلسة الحالية. Ctrl + B ثم؟:عرض صفحة التعليمات في
    sudo pacman -Sy tmux
    .

أوامر النافذة

    ج:أنشئ نافذة جديدة. ،:إعادة تسمية النافذة الحالية. في:قائمة النوافذ. ن:انتقل إلى النافذة التالية. ف:انتقل إلى النافذة السابقة. 0 إلى 9:الانتقال إلى رقم النافذة المحدد.

أوامر الجزء

    ٪:قم بإنشاء انقسام أفقي. :قم بإنشاء انقسام عمودي. H أو سهم لليسار:انتقل إلى الجزء الموجود على اليسار. أنا أو السهم الأيمن:انتقل إلى الجزء الموجود على اليمين. J أو سهم لأسفل:انتقل إلى الجزء أدناه. K أو سهم لأعلى:انتقل إلى الجزء أعلاه. س: عرض أرقام الأجزاء بإيجاز. أو:التنقل عبر الأجزاء بالترتيب. تنقلك كل ضغطة إلى التالية ، حتى تقوم بالمرور عليها جميعًا. }:قم بتبديل موضع الجزء الحالي بالجزء التالي. {:قم بتبديل موضع الجزء الحالي بالجزء السابق. X:أغلق الجزء الحالي.

كيف يقارنون

من حيث الوظيفة ،

tmux
و
tmux new -s geek-1
يعمل كلاهما بالمثل ويقدمان نفس الميزات الرئيسية. تختلف اختلافًا ملحوظًا عن طريقة وصولك إلى تلك الميزات.
dmesg -w
يوفر طرقًا أكثر راحة وسهولة للوصول إلى الوظائف المختلفة. ومع ذلك ، ليس هذا هو الاختلاف الوحيد.

القدرة على إعادة تسمية الجلسات والنوافذ في

tmux attach-session -t geek-1
أنيق ، وحقيقة أنه يحتفظ بالأجزاء عند إعادة توصيل جلسة ما هو تغيير قواعد اللعبة.

من ناحية أخرى ، يفقد

tmux new -s geek-2
الأجزاء تمامًا عند فصل الجلسة وإعادة توصيلها. هذا مزعج بما يكفي ليجعلك تتجنب الانفصال في المقام الأول.

هناك الكثير جدًا لـ

dmesg -w
، بما في ذلك إمكانيات البرمجة النصية المرنة بشكل لا يصدق. أنت مدين لنفسك للتحقق من ذلك.

أوامر لينكس
الملفات قطران · الكهروضوئية · قط · تاك · chmod · سيطرة · فرق · سيد · مع · رجل · Pushd · popd · fsck · اختبار · فيما يليها · فد · باندوك · قرص مضغوط · المسار $ · awk · انضم · جي ق · يطوى · فريد · جورنال سي تي ال · ذيل · حالة · ls · fstab · رما - طرد - قذف · أقل · chgrp · تشاون · مراجعة · نظرة · سلاسل · نوع · إعادة تسمية · أزيز · بفك · تتعدد · أومونت · تثبيت · fdisk · مكفس · جمهورية مقدونيا · rmdir · رسينك · مدافع · gpg · نحن · نانو · مكدير · ال · ln · تصحيح · يتحول · rclone · أجاد · SRM
العمليات الاسم المستعار · شاشة · أعلى · لطيف · رائع · تقدم · دعامة · النظام · تمكس · chsh · التاريخ · في · حزمة · مجانا · التي · dmesg · usermod · ملاحظة · الجذور · xargs · tty · الخنصر · lsof · vmstat · نفذ الوقت · حائط · نعم · قتل · نايم · سودو · له · زمن · المجموعة · usermod · مجموعات · lshw · اغلق · اعادة التشغيل · توقف · انقطاع التيار الكهربائي · passwd · lscpu · كرونتاب · تاريخ · bg · fg
الشبكات netstat · بينغ · مسار التتبع · IP · ss · الذي هو · fail2ban · bmon · أنت · اصبع اليد · nmap · بروتوكول نقل الملفات · لفة · wget · من الذى · من أنا · في · iptables · ssh-كجن · ufw

ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين

اقرأ التالي
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل عروض Apple
  • & [رسقوو] ؛ Cyber ​​Monday 2021: أفضل العروض التقنية
  • & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
  • & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
  • & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
  • & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
صورة الملف الشخصي لـ Dave McKay ديف مكاي
استخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة

مقالات مثيرة للاهتمام