كيفية استخدام tmux على Linux (ولماذا هو أفضل من الشاشة)
fatmawati achmad zaenuri / Shutterstock.com
لينكس tmux
الأمر هو معدد طرفي ، مثل screen
. المدافعون عنها كثيرون وصريحون ، لذلك قررنا المقارنة بين الاثنين. هو tmux
حقا أفضل ، أم أنها مجرد حالة تفضيل ما تعرفه؟
tmux مقابل الشاشة
كلاهما tmux
وجنو screen
أوامر هي معددات طرفية . إنها تسمح لك بالحصول على عدة نوافذ داخل نافذة طرفية واحدة ، والقفز ذهابًا وإيابًا بينها. يمكن تقسيم النافذة إلى أجزاء ، كل منها يمنحك سطر أوامر مستقل.
ذات صلة 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
حصة.
يُظهر الجانب الأيمن من شريط الحالة اسم المضيف والوقت والتاريخ. يظهر الجانب الأيسر المعلومات المتعلقة بالجلسة التالية:
- & [رسقوو] ؛ Cyber Monday 2021: أفضل عروض Apple
- & [رسقوو] ؛ Cyber Monday 2021: أفضل العروض التقنية
- & [رسقوو] ؛ كيفية البحث عن ملف Spotify 2021 الخاص بك
- & [رسقوو] ؛ 5 مواقع ويب يجب على كل مستخدم Linux وضع إشارة مرجعية عليها
- & [رسقوو] ؛ مجلد الكمبيوتر هو 40: كيف أنشأت شركة Xerox Star سطح المكتب
- & [رسقوو] ؛ الدالات مقابل الصيغ في Microsoft Excel: ما الفرق؟
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 كأول إدخال في شريط الحالة ، في أقصى اليسار.
إضافة المزيد من النوافذ
لإنشاء نافذة جديدة في الجلسة الحالية ، اضغط على Ctrl + B ، ثم C. ستحصل على نافذة طرفية فارغة في الجلسة الحالية. لذلك سيكون لدينا شيء يعمل في هذه النافذة الجديدة ، فلنبدأ في tmux
يأمر مع dmesg
(متابعة) الخيار:
dmesg
الآن لدينا نافذتان في الجلسة ؛ أحدهما يعمل top
والآخر tmux
. يمكننا فقط رؤية واحدة في كل مرة (المزيد عن ذلك في لحظة).
الإعلانات
ألق نظرة على الجانب الأيسر من شريط الحالة. ما زلنا في المهوس -1 attach-session
حصة. في النافذة صفر ، الجزء العلوي قيد التشغيل ، وفي النافذة الأولى -t
يركض. العلامة النجمية (*) بعد screen
يخبرنا أي نافذة مرئية.
للتنقل بين النوافذ ، اضغط على Ctrl + B ، ثم أحد المفاتيح التالية:
يمكنك أيضًا اختيار نافذة من القائمة. إذا ضغطت على 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 ، فإننا نفصل تلك الجلسة.
العودة إلى المهوس -1 tmux
جلسة ، نضغط Ctrl + B ، ثم S لرؤية قائمة tmux
الجلسات.
لنكون واضحين ، هذه قائمة الجلسات. كان العرض المماثل الذي رأيناه سابقًا عبارة عن قائمة من النوافذ في جلسة واحدة.
يمكنك تحريك شريط التظليل الكهرماني بالضغط على السهمين لأعلى ولأسفل والصفحة الرئيسية والنهاية. يعرض القسم السفلي معاينة للمحتوى في الجلسة المميزة.
الإعلانات
إذا قمت بالضغط على السهم الأيمن ، يتم عرض نوافذ الجلسة المميزة.
اضغط على Enter للانتقال إلى الجلسة أو النافذة المميزة أو اضغط على Esc لمغادرة قائمة الجلسات دون تغيير الجلسات. إذا حددت جلسة جديدة ، فسيتم فصل جلستك الحالية وإرفاق الجلسة التي حددتها.
قمنا بفصل جلسة geek-2 قبل أن نفعل ذلك. ومع ذلك ، يمكنك القيام بذلك مع الجلسات التي لا تزال متصلة بنوافذها الطرفية الأصلية. عندما تفعل ذلك ، ستظهر أي تغييرات على الشاشة في آنٍ واحد في كلٍّ من screen
الجلسات.
ال screen
يمكن للأمر القيام بذلك ، أيضًا ، عبر مجموعة مماثلة من الأوامر.
العمل مع النوافذ
إذا قمت بالضغط على Ctrl + B ، ثم علامات الاقتباس المزدوجة () ، فإنك تقوم بتقسيم النافذة أفقيًا إلى جزأين.
هذا يؤثر فقط على النافذة الحالية ؛ لن يتم تغيير الآخرين في الجلسة. لقد استخدمنا tmux
الأمر في الجزء العلوي لسرد النوافذ في هذه الجلسة. هناك نوعان ، ويخبرنا سطر الحالة أننا في النافذة الأولى. إذا قفزنا إلى النافذة صفر بالضغط على Ctrl + B ، ثم 0 (صفر) ، فإننا نراها تمامًا كما تركناها.
هذان هما سطرا أوامر مستقلان ، وليست طريقتي عرض في نافذة واحدة ؛ هم قذائف متميزة ومنفصلة. يمكننا إظهار ذلك عن طريق تشغيل أمر مختلف في كل جزء.
نكتب ما يلي:
tmux
screen
للانتقال من جزء إلى آخر ، اضغط على Ctrl + B ، ثم السهم لأعلى أو لأسفل أو لليسار أو لليمين.
إذا ضغطت على Ctrl + B ، ثم علامة النسبة المئوية (tmux
تقسم الجزء الحالي عموديًا.
اضغط على Ctrl + B ، ثم Q لعمل tmux
وميض بإيجاز رقم كل جزء.
يتم استخدام هذه الأرقام في المطالبات والرسائل من tmux
. اضغط على Ctrl + B ، ثم X لإغلاق الجزء الحالي. يتغير شريط الحالة إلى اللون الكهرماني ، وستتم مطالبتك بتأكيد رغبتك في إغلاق رقم اللوحة هذا. اضغط على Y لإزالة الجزء ، أو N لترك الأشياء كما هي.
إذا قمت بالضغط على Y ، فسيتم إزالة الجزء.
الإعلانات
ال screen
يحتوي الأمر أيضًا على أجزاء ، ولكن ، مرة أخرى ، تكون أقل سهولة في الاستخدام. الشيء الذي يزعجنا بخصوص tmux
إذا قمت بفصل جلسة باستخدام الأجزاء ، فإنها تختفي عند إعادة إرفاق تلك الجلسة. هذا يتقدم في العمر بسرعة كبيرة.
ورقة الغش Ctrl + B
لقد قمنا بتضمين ورقة الغش للأوامر المختلفة التي يمكنك استخدامها في
sudo apt-get install tmuxأقل.
أوامر الجلسة
sudo pacman -Sy tmux.
أوامر النافذة
أوامر الجزء
كيف يقارنون
من حيث الوظيفة ،
tmuxو
tmux new -s geek-1يعمل كلاهما بالمثل ويقدمان نفس الميزات الرئيسية. تختلف اختلافًا ملحوظًا عن طريقة وصولك إلى تلك الميزات.
dmesg -wيوفر طرقًا أكثر راحة وسهولة للوصول إلى الوظائف المختلفة. ومع ذلك ، ليس هذا هو الاختلاف الوحيد.
القدرة على إعادة تسمية الجلسات والنوافذ في
tmux attach-session -t geek-1أنيق ، وحقيقة أنه يحتفظ بالأجزاء عند إعادة توصيل جلسة ما هو تغيير قواعد اللعبة.
من ناحية أخرى ، يفقد
tmux new -s geek-2الأجزاء تمامًا عند فصل الجلسة وإعادة توصيلها. هذا مزعج بما يكفي ليجعلك تتجنب الانفصال في المقام الأول.
هناك الكثير جدًا لـ
dmesg -w، بما في ذلك إمكانيات البرمجة النصية المرنة بشكل لا يصدق. أنت مدين لنفسك للتحقق من ذلك.
ذات صلة: أفضل أجهزة كمبيوتر Linux المحمولة للمطورين والمتحمسين
اقرأ التالياستخدم Dave McKay أجهزة الكمبيوتر لأول مرة عندما كان الشريط الورقي المثقوب رائجًا ، وهو يقوم بالبرمجة منذ ذلك الحين. بعد أكثر من 30 عامًا في صناعة تكنولوجيا المعلومات ، أصبح الآن صحفيًا متخصصًا في مجال التكنولوجيا. خلال مسيرته المهنية ، عمل كمبرمج مستقل ، ومدير فريق تطوير برمجيات دولي ، ومدير مشروع خدمات تكنولوجيا المعلومات ، ومؤخراً كمسؤول حماية البيانات. تم نشر كتاباته على موقع howtogeek.com و cloudavvyit.com و itenterpriser.com و opensource.com. ديف هو مبشر لينكس ومدافع مفتوح المصدر.
اقرأ السيرة الذاتية الكاملة