- الملخص
- الوصف
- البدء
- خيارات سطر الأوامر
- اختصارات لوحة المفاتيح الافتراضية
- التخصيص
- سطر الرسائل
- أنواع النوافذ
- تسلسلات الهروب (STRING ESCAPES)
- التحكم في التدفق
- العناوين (تسمية النوافذ)
- المحاكي الطرفي الافتراضي
- ترجمة الإدخال
- إمكانيات طرفية خاصة
- ترجمة الأحرف
- البيئة
- الملفات
- المؤلفون
- حقوق النشر
- المساهمون
- التوافر
- الأخطاء
- انظر أيضًا
screen - مدير شاشة مع محاكاة طرفية VT100/ANSI
الملخص
screen [ -خيارات ] [ الأمر [ المعلمات ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
الوصف
Screen هو مدير نوافذ ملء الشاشة يقوم بإدارة طرفية فعلية بين عدة عمليات (عادةً ما تكون shell تفاعلية). يوفر كل طرفية افتراضية وظائف طرفية DEC VT100، بالإضافة إلى العديد من وظائف التحكم من معايير ISO 6429 (ECMA 48, ANSI X3.64) و ISO 2022 (مثل إدراج/حذف سطر ودعم لمجموعات أحرف متعددة). يوجد مخزن ذاكرة تخزين مؤقت للتاريخ لكل طرفية افتراضية وآلية نسخ ولصق تسمح بنقل مناطق النص بين النوافذ.
عند استدعاء screen، فإنه يقوم بإنشاء نافذة واحدة تحتوي على shell (أو الأمر المحدد) ثم يفسح المجال حتى تتمكن من استخدام البرنامج كالمعتاد. بعد ذلك، في أي وقت، يمكنك إنشاء نوافذ جديدة (ملء الشاشة) مع برامج أخرى فيها (بما في ذلك المزيد من shell)، وقتل النوافذ الموجودة، وعرض قائمة بالنوافذ، وتشغيل وإيقاف تسجيل الإخراج، ونسخ ولصق النص بين النوافذ، وعرض سجل التمرير، والتبديل بين النوافذ بأي طريقة تريدها. تعمل جميع النوافذ الخاصة بها بشكل مستقل تمامًا عن بعضها البعض. تستمر البرامج في العمل حتى عندما لا تكون نافذتها مرئية حاليًا وحتى عندما يتم فصل جلسة screen بأكملها عن طرفية المستخدم. عندما ينتهي برنامج، يقوم screen (افتراضيًا) بقتل النافذة التي احتوت عليه. إذا كانت هذه النافذة في المقدمة، فسيتم تبديل العرض إلى النافذة السابقة؛ إذا لم يتبق أي نوافذ، فسيقوم screen بالخروج. عادةً ما تميز shell ما إذا كانت تعمل كـ shell تسجيل دخول أو shell فرعي. يقوم screen بتشغيلها كـ shell فرعي، ما لم يتم إخباره بخلاف ذلك (انظر أمر .screenrc).
كل ما تكتبه يتم إرساله إلى البرنامج الذي يعمل في النافذة الحالية. الاستثناء الوحيد لهذا هو الضغطة المفردة المستخدمة لبدء أمر لمدير النوافذ. افتراضيًا، تبدأ كل عملية بـ control-a (مختصرة C-a من الآن فصاعدًا) ويتبعها ضغطة مفتاح أخرى. يمكن تخصيص حرف الأمر وجميع اختصارات المفاتيح لتكون أي شيء تريده، على الرغم من أنها دائمًا ما تكون بطول حرفين.
لا يفهم screen أن C- تعني control، على الرغم من استخدام هذه التدوين في هذا الدليل لسهولة القراءة. يرجى استخدام تدوين علامة الإقحام (^A بدلاً من C-a) كوسائط لأوامر مثل أمر الهروب أو خيار -e. سيقوم screen أيضًا بطباعة الأحرف الخاصة باستخدام تدوين علامة الإقحام.
الطريقة القياسية لإنشاء نافذة جديدة هي كتابة C-a c. يؤدي هذا إلى إنشاء نافذة جديدة تشغل
برنامج shell ثم التبديل إلى تلك النافذة على الفور، بغض النظر عن حالة العملية قيد التشغيل في
النافذة الحالية. وبالمثل، يمكنك إنشاء نافذة جديدة بأمر مخصص عن طريق ربط الأمر بمفتاح (في ملف .screenrc أو في سطر الأوامر C-a :) ثم استخدامه تمامًا مثل الأمر C-a c. بالإضافة إلى ذلك، يمكن إنشاء نوافذ جديدة عن طريق تشغيل أمر مثل:
screen emacs prog.c
من موجه الأوامر داخل نافذة تم إنشاؤها مسبقًا. لن يؤدي هذا إلى تشغيل نسخة أخرى من
screen، ولكن بدلاً من ذلك، سيوفر اسم الأمر وحججه إلى مدير النوافذ (المحدد في متغير البيئة `$STY`) الذي سيستخدمه لإنشاء النافذة الجديدة. سيبدأ المثال أعلاه محرر emacs (لتحرير `prog.c`) والتبديل إلى نافذته. - لاحظ أنه
لا يمكنك نقل متغيرات البيئة من shell الذي قام باستدعاء الأمر إلى التطبيق (emacs في
هذه الحالة)، لأنه يتم تشغيله من عملية screen الأصل، وليس من shell الذي قام باستدعاء الأمر.
إذا كان الملف /run/utmp قابلاً للكتابة بواسطة screen، فسيتم كتابة سجل مناسب في هذا الملف لكل
نافذة، وإزالته عند إنهاء النافذة. هذا مفيد للعمل مع برامج مثل talk وscript و
shutdown وrsend وsccs وغيرها من البرامج المماثلة التي تستخدم ملف utmp لتحديد هويتك.
طالما أن برنامج screen نشط على جهازك الطرفي، تتم إزالة سجل الجهاز الطرفي من ملف utmp. انظر أيضًا C-a L.
البدء
قبل أن تبدأ في استخدام screen، يجب التأكد من أنك قد حددت نوع جهازك الطرفي بشكل صحيح، كما تفعل مع أي برنامج termcap/terminfo آخر. (يمكنك القيام بذلك باستخدام الأمر test على سبيل المثال).
إذا كنت متسرعًا وتريد البدء دون قراءة الكثير، يجب أن تتذكر هذا الأمر: C-a ?. سيؤدي كتابة هذين الحرفين إلى عرض قائمة بالأوامر المتاحة في screen وربطاتها. تتم مناقشة كل مفتاح في قسم "الربطات الافتراضية للمفاتيح". يتعامل قسم "التخصيص" مع محتويات ملف .screenrc.
إذا كان جهازك الطرفي جهازًا طرفيًا حقيقيًا بـ "تحديد تلقائي للهوامش" (لا يسمح بتحديث الموضع الأخير على الشاشة دون تمرير الشاشة)، ففكر في استخدام نسخة من termcap الخاص بجهازك الطرفي حيث تم إيقاف "التحديد التلقائي للهوامش". سيضمن هذا تحديثًا دقيقًا وأمثل للشاشة في جميع الظروف. تحتوي معظم الأجهزة الطرفية الحديثة على "هوامش سحرية" (تحديد تلقائي للهوامش بالإضافة إلى العمود الأخير القابل للاستخدام). هذا هو نوع VT100 وهو مناسب تمامًا لـ screen. إذا كان لديك جهاز طرفي حقيقي بـ "تحديد تلقائي للهوامش"، فسيكون برنامج screen سعيدًا باستخدامه، ولكن قد لا يكون تحديث حرف تم إدخاله في الموضع الأخير على الشاشة ممكنًا حتى يتم تمرير الشاشة أو يتم نقل الحرف إلى موضع آمن بطريقة أخرى. يمكن تقصير هذا التأخير باستخدام جهاز طرفي مزود بإمكانية "إدراج حرف".
خيارات سطر الأوامر
يحتوي برنامج screen على خيارات سطر الأوامر التالية:
-a يتضمن جميع الإمكانيات (مع بعض الاستثناءات الطفيفة) في `termcap` لكل نافذة، حتى إذا كان برنامج `screen` بحاجة إلى إعادة رسم أجزاء من الشاشة لتنفيذ وظيفة.
-A يقوم بتكييف أحجام جميع النوافذ مع حجم الطرفية الحالية. افتراضيًا، يحاول برنامج `screen` استعادة أحجام النوافذ القديمة عند الاتصال بالطرفيات القابلة لتغيير الحجم (تلك التي تحتوي على `WS` في وصفها، على سبيل المثال، `suncmd` أو بعض `xterm`).
-c file
يتجاوز ملف التهيئة الافتراضي من `$HOME/.screenrc` إلى `file`.
-d|-D [pid.tty.host]
لا يبدأ برنامج `screen`، ولكنه يقوم بفصل جلسة برنامج `screen` قيد التشغيل في مكان آخر. له نفس تأثير كتابة `C-a d` من الطرفية المتحكم فيها لبرنامج `screen`. `-D` هو ما يعادل مفتاح الفصل القوي. إذا لم يتمكن من فصل أي جلسة، يتم تجاهل هذا الخيار. عند دمجه مع خيار `-r/-R`، يمكن تحقيق تأثيرات أكثر قوة:
-d -r أعد توصيل جلسة، وإذا لزم الأمر، افصلها أولاً.
-d -R أعد توصيل جلسة، وإذا لزم الأمر، افصلها أو أنشئها أولاً.
-d -RR أعد توصيل جلسة، وإذا لزم الأمر، افصلها أو أنشئها. استخدم الجلسة الأولى إذا كانت هناك أكثر من جلسة متاحة.
-D -r أعد توصيل جلسة. إذا لزم الأمر، افصل وقم بتسجيل الخروج عن بُعد أولاً.
-D -R قم بالتوصيل هنا والآن. بالتفصيل، يعني هذا: إذا كانت الجلسة قيد التشغيل، فأعد توصيلها. إذا لزم الأمر، افصل وقم بتسجيل الخروج عن بُعد أولاً. إذا لم تكن قيد التشغيل، فقم بإنشائها وأبلغ المستخدم. هذا هو الخيار المفضل للمؤلف.
-D -RR قم بالتوصيل هنا والآن. مهما كان ذلك يعني، افعل ذلك ببساطة.
ملاحظة: من الجيد دائمًا التحقق من حالة جلساتك باستخدام الأمر `screen -list`.
-e xy
يحدد حرف الأمر ليكون `x` والحرف الذي يولد حرف الأمر الحرفي ليكون `y` (عند كتابته بعد حرف الأمر). الافتراضي هو `C-a` و ``a'، والذي يمكن تحديده على أنه `-e^Aa`. عند إنشاء جلسة `screen`، يحدد هذا الخيار حرف الأمر الافتراضي. في جلسة متعددة المستخدمين، سيبدأ جميع المستخدمين المضافين بحرف الأمر هذا. ولكن عند الاتصال بجلسة قيد التشغيل بالفعل، يغير هذا الخيار حرف الأمر الخاص بالمستخدم الذي يقوم بالاتصال فقط. هذا الخيار يعادل الأمر `defescape` أو `escape`.
-f، و`-fn`، و`-fa`
يقوم بتشغيل التحكم في التدفق، أو إيقاف تشغيله، أو وضع التبديل التلقائي. يمكن أيضًا تحديده من خلال الأمر `defflow .screenrc`.
-h num
يحدد أن يكون حجم ذاكرة التخزين المؤقت للتاريخ هو `num` سطرًا.
-i
سيؤدي ذلك إلى جعل مفتاح المقاطعة (عادةً `C-c`) يقطع العرض على الفور عند تشغيل التحكم في التدفق. انظر الأمر `defflow .screenrc` لمزيد من التفاصيل. لا يُنصح باستخدام هذا الخيار.
-l و`-ln`
يقوم بتشغيل أو إيقاف وضع تسجيل الدخول (لتحديث `/run/utmp`). يمكن أيضًا تحديده من خلال الأمر `deflogin .screenrc`.
-ls [match]
-list [match]
لا يقوم بتشغيل الشاشة، ولكنه يطبع قائمة بسلاسل pid.tty.host وأوقات الإنشاء التي تحدد جلسات الشاشة الخاصة بك. يمكن استئناف الجلسات التي تحمل علامة "منفصلة" باستخدام الأمر `screen -r`. الجلسات التي تحمل علامة "مرفقة" قيد التشغيل ولديها طرفية تحكم. إذا كانت الجلسة تعمل في وضع متعدد المستخدمين، يتم وضع علامة "متعدد". الجلسات التي تحمل علامة "غير قابلة للوصول" إما أنها موجودة على مضيف مختلف أو أنها "ميتة". تعتبر الجلسة غير القابلة للوصول ميتة عندما يتطابق اسمها مع اسم المضيف المحلي، أو المعلمة المحددة، إن وجدت. انظر إلى العلامة `-r` للحصول على وصف حول كيفية إنشاء المطابقات. يجب فحص الجلسات التي تحمل علامة "ميتة" وإزالتها بدقة. اطلب من مسؤول النظام الخاص بك إذا لم تكن متأكدًا. قم بإزالة الجلسات باستخدام الخيار `-wipe`.
-L يخبر برنامج screen بتشغيل تسجيل الإخراج التلقائي للنوافذ.
-Logfile file
افتراضيًا، يكون اسم ملف السجل هو screenlog.0. يمكنك تعيين اسم ملف سجل جديد باستخدام الخيار `-Logfile`.
-m يجعل برنامج screen يتجاهل متغير البيئة `$STY`. باستخدام الأمر `screen -m`، يتم فرض إنشاء جلسة جديدة، بغض النظر عما إذا كان يتم استدعاء برنامج screen من داخل جلسة screen أخرى أم لا. تحتوي هذه العلامة على معنى خاص بالاقتران مع الخيار `-d`:
-d -m يبدأ برنامج screen في وضع منفصل. يؤدي ذلك إلى إنشاء جلسة جديدة ولكن لا يتم إرفاقها. هذا مفيد لبرامج بدء التشغيل.
-D -m يبدأ هذا أيضًا برنامج screen في وضع منفصل، ولكنه لا يفرخ عملية جديدة. يخرج الأمر إذا انتهت الجلسة.
-O يحدد وضع إخراج مثالي لجهازك بدلاً من محاكاة VT100 الحقيقية (يؤثر فقط على المحطات الطرفية ذات الهوامش التلقائية بدون `LP`). يمكن أيضًا تعيين هذا في ملف `.screenrc` الخاص بك عن طريق تحديد `OP` في أمر termcap.
-p number_or_name|-|=|+
يحدد نافذة مسبقًا. هذا مفيد عندما تريد إعادة الاتصال بنافذة معينة أو تريد إرسال أمر عبر الخيار `-X` إلى نافذة معينة. كما هو الحال مع أمر `select` الخاص ببرنامج screen، تحدد `-` النافذة الفارغة. كحالة خاصة لإعادة الاتصال، يعرض `=` قائمة النوافذ في النافذة الفارغة، بينما ينشئ `+` نافذة جديدة. لن يتم تنفيذ الأمر إذا لم يتم العثور على النافذة المحددة.
-q يقوم بإيقاف طباعة رسائل الخطأ. عند استخدامه مع `-ls`، تكون قيمة الخروج كما يلي: يشير 9 إلى دليل بدون جلسات. يشير 10 إلى دليل به جلسات قيد التشغيل ولكن لا يمكن إرفاقها. يشير 11 (أو أكثر) إلى 1 (أو أكثر) من الجلسات القابلة للاستخدام. عند استخدامه مع `-r`، تكون قيمة الخروج كما يلي: يشير 10 إلى أنه لا توجد جلسة لاستئنافها. يشير 12 (أو أكثر) إلى أنه توجد 2 (أو أكثر) من الجلسات للاستئناف ويجب عليك تحديد أي منها. في جميع الحالات الأخرى، لا يكون لـ `-q` أي تأثير.
-Q يمكن الآن الاستعلام عن بعض الأوامر من جلسة بعيدة باستخدام هذه العلامة، على سبيل المثال، `screen -Q windows`. سترسل الأوامر الاستجابة إلى stdout لعملية الاستعلام. إذا كان هناك خطأ في الأمر، فستخرج عملية الاستعلام بحالة غير صفرية.
الأوامر التي يمكن الاستعلام عنها الآن هي: echo info lastmsg number select time title windows
-r [pid.tty.host]
-r sessionowner/[pid.tty.host]
يستأنف جلسة شاشة مفصولة. لا يمكن تحديد أي خيارات أخرى (باستثناء التوليفات مع -d/-D).
ومع ذلك، قد تكون هناك حاجة إلى بادئة اختيارية [pid.]tty.host للتمييز بين جلسات شاشة مفصولة متعددة. يستخدم النموذج الثاني للاتصال بجلسة شاشة مستخدم آخر تعمل في وضع تعدد المستخدمين. يشير هذا إلى أنه يجب على شاشة البحث عن الجلسات في دليل مستخدم آخر. يتطلب هذا صلاحيات المستخدم الجذر.
-R يستأنف شاشة فقط عندما يكون من الواضح أي منها يجب إرفاقه، عادةً عندما تكون هناك جلسة شاشة واحدة فقط مفصولة. وإلا فإنه يسرد الجلسات المتاحة. تحاول -RR استئناف أحدث جلسة شاشة مفصولة (من حيث وقت الإنشاء). في حالة النجاح، يتم تجاهل جميع الخيارات الأخرى في سطر الأوامر. إذا لم تكن هناك أي جلسة مفصولة، فإنه يبدأ جلسة جديدة باستخدام الخيارات المحددة، كما لو لم يتم تحديد -R. يتم تعيين هذا الخيار افتراضيًا إذا تم تشغيل شاشة كواجهة تسجيل دخول (في الواقع، تستخدم شاشة -xRR في هذه الحالة). للحصول على توليفات مع خيار -d/-D، راجع ذلك. ملاحظة: تحديد الجلسة على أساس الوقت هو إضافة من دبيان.
-s program
يقوم بتعيين الصدفة الافتراضية إلى البرنامج المحدد، بدلاً من القيمة الموجودة في متغير البيئة $SHELL (أو /bin/sh إذا لم يتم تعريفه). يمكن أيضًا تعريفه من خلال الأمر .screenrc في الصدفة. انظر أيضًا هناك.
-S sessionname
عند إنشاء جلسة جديدة، يمكن استخدام هذا الخيار لتحديد اسم ذي معنى للجلسة. يحدد هذا الاسم الجلسة لأوامر شاشة -list وشاشة -r. يحل محل اللاحقة الافتراضية [tty.host]. يجب ألا يكون هذا الاسم أطول من 80 رمزًا.
-t name
يقوم بتعيين العنوان (أو الاسم المستعار) للصدفة الافتراضية أو البرنامج المحدد. انظر أيضًا الأمر shelltitle في ملف .screenrc.
-T term
قم بتعيين متغير البيئة $TERM باستخدام المصطلح المحدد بدلاً من الإعداد الافتراضي لشاشة.
-U قم بتشغيل شاشة في وضع UTF-8. يخبر هذا الخيار شاشة أن جهازك يرسل ويستقبل أحرفًا مشفرة بـ UTF-8. كما أنه يحدد الترميز الافتراضي للنوافذ الجديدة على أنه `utf8'.
-v اطبع رقم الإصدار.
-wipe [match]
يفعل الشيء نفسه مثل شاشة -ls، ولكن يزيل الجلسات المدمرة بدلاً من وضع علامة عليها على أنها "ميتة". تعتبر الجلسة غير القابلة للوصول ميتة عندما يتطابق اسمها إما مع اسم المضيف المحلي، أو المعلمة المحددة بشكل صريح، إن وجدت. راجع علامة -r للحصول على وصف حول كيفية إنشاء التطابقات.
-x قم بالإرفاق بجلسة شاشة غير مفصولة (وضع العرض المتعدد). ترفض شاشة الإرفاق من داخل نفسها. ولكن عند تجميع شاشات متعددة، لا يتم اكتشاف الحلقات؛ كن حذرًا.
-X إرسال الأمر المحدد إلى جلسة شاشة قيد التشغيل. يمكنك استخدام الخيار -S لتحديد جلسة الشاشة إذا كان لديك عدة جلسات شاشة قيد التشغيل. يمكنك استخدام الخيار -d أو -r لإخبار برنامج "شاشة" بالبحث فقط عن جلسات شاشة متصلة أو منفصلة. لاحظ أن هذا الأمر لا يعمل إذا كانت الجلسة محمية بكلمة مرور.
-4 قم بحل أسماء النطاقات إلى عناوين IPv4 فقط.
-6 قم بحل أسماء النطاقات إلى عناوين IPv6 فقط.
اختصارات لوحة المفاتيح الافتراضية
كما ذكرنا، يتكون كل أمر "شاشة" من C-a متبوعة بحرف واحد آخر. لتسهيل الاستخدام، يتم ربط جميع الأوامر المرتبطة بالأحرف الصغيرة أيضًا بنظيراتها من الأحرف الكبيرة (باستثناء C-a a؛ انظر أدناه)، وبالتالي يمكن استخدام كل من C-a c و C-a C-c لإنشاء نافذة. راجع قسم "التخصيص" للحصول على وصف للأمر.
يعرض الجدول التالي اختصارات لوحة المفاتيح الافتراضية. الفواصل في نهاية مربعات الإدخال المتعددة هي فواصل، وليست جزءًا من الاختصارات.
C-a ' (select) اطلب اسم نافذة أو رقم لتحديدها.
C-a " (windowlist -b) قم بعرض قائمة بجميع النوافذ للاختيار من بينها.
C-a digit (select 0-9) قم بالتبديل إلى النافذة رقم 0-9.
C-a - (select -) قم بالتبديل إلى النافذة رقم 0-9، أو إلى النافذة الفارغة.
C-a tab (focus) قم بتبديل التركيز إلى المنطقة التالية. راجع أيضًا split و remove و only.
C-a C-a (other) قم بالتبديل إلى النافذة المعروضة سابقًا. لاحظ أن هذا الاختصار افتراضيًا هو الأمر الذي يتم كتابته مرتين، ما لم يتم تجاوزه. على سبيل المثال، إذا كنت تستخدم الخيار -e]x، يصبح هذا الأمر ]].
C-a a (meta) أرسل حرف الأمر (C-a) إلى النافذة. راجع أمر escape.
C-a A (title) اسمح للمستخدم بإدخال اسم للنافذة الحالية.
C-a b, (break) أرسل إشارة توقف إلى النافذة.
C-a C-b
C-a B (pow_break) أعد فتح سطر المحطة وأرسل إشارة توقف.
C-a c, (screen) أنشئ نافذة جديدة مع shell وقم بالتبديل إلى تلك النافذة.
C-a C-c
C-a C (clear) امسح الشاشة.
C-a d, (detach) افصل "شاشة" عن هذه المحطة.
C-a C-d
C-a D D (pow_detach) افصل وانتهِ من الجلسة.
C-a f, (flow) قم بتبديل وضع التدفق (flow) على، أو إيقافه، أو ضعه في وضع التشغيل التلقائي.
C-a C-f
C-a F (fit) قم بتغيير حجم النافذة لتناسب حجم المنطقة الحالية.
C-a C-g (vbell) قم بتبديل وضع الجرس المرئي (visual bell) في "شاشة".
C-a h (hardcopy) اكتب نسخة من النافذة الحالية إلى الملف hardcopy.n.
C-a H (log) ابدأ/أنهِ تسجيل النافذة الحالية إلى الملف screenlog.n.
C-a i, (info) عرض معلومات حول هذا النافذة.
C-a C-i
C-a k, (kill) تدمير النافذة الحالية.
C-a C-k
C-a l, (redisplay) تحديث كامل للنافذة الحالية.
C-a C-l
C-a L (login) تبديل حالة تسجيل الدخول لهذه النافذة. متاح فقط إذا تم تكوين الشاشة لتحديث قاعدة بيانات utmp.
C-a m, (lastmsg) إعادة عرض الرسالة الأخيرة التي تم عرضها في سطر الرسائل.
C-a C-m
C-a M (monitor) تبديل مراقبة النافذة الحالية.
C-a space, (next) التبديل إلى النافذة التالية.
C-a n,
C-a C-n
C-a N (number) عرض رقم (وعنوان) النافذة الحالية.
C-a backspace, (prev) التبديل إلى النافذة السابقة (عكس C-a n).
C-a C-h,
C-a p,
C-a C-p
C-a q, (xon) إرسال تحكم-q إلى النافذة الحالية.
C-a C-q
C-a Q (only) حذف جميع المناطق باستثناء المنطقة الحالية. انظر أيضًا split، remove، focus.
C-a r, (wrap) تبديل إعداد التفاف الأسطر للنافذة الحالية (تشغيل/إيقاف تشغيل الهوامش التلقائية للنافذة الحالية).
C-a C-r
C-a s, (xoff) إرسال تحكم-s إلى النافذة الحالية.
C-a C-s
C-a S (split) تقسيم المنطقة الحالية أفقيًا إلى منطقتين جديدتين. انظر أيضًا only، remove، focus.
C-a t, (time) عرض معلومات النظام.
C-a C-t
C-a v (version) عرض إصدار وتاريخ التجميع.
C-a C-v (digraph) إدخال الحرف المركب.
C-a w, (windows) عرض قائمة بالنوافذ.
C-a C-w
C-a W (width) تبديل بين 80/132 عمودًا.
C-a x أو C-a C-x (lockscreen) قفل هذا الجهاز.
C-a X (remove) قتل المنطقة الحالية. انظر أيضًا split، only، focus.
C-a z, (suspend) إيقاف تشغيل الشاشة مؤقتًا. يجب أن يدعم نظامك التحكم في الوظائف بأسلوب BSD.
C-a C-z
C-a Z (reset) إعادة تعيين الجهاز الظاهري إلى قيمه الافتراضية عند التشغيل.
C-a . (dumptermcap) كتابة ملف .termcap.
C-a ? (help) عرض ربط المفاتيح.
C-a \ (quit) قتل جميع النوافذ وإنهاء تشغيل الشاشة.
C-a : (colon) الدخول إلى وضع سطر الأوامر.
C-a [, (copy) الدخول إلى وضع النسخ/التمرير.
C-a C-[,
C-a esc
C-a C-], (paste .) كتابة محتويات المخزن المؤقت للنسخ إلى قائمة الإدخال (stdin) للنافذة الحالية.
C-a ]
C-a {, (history) نسخ ولصق سطر الأمر السابق.
C-a }
C-a > (writebuf) يكتب محتويات المخزن المؤقت إلى ملف.
C-a < (readbuf) يقرأ محتويات ملف تبادل الشاشة إلى المخزن المؤقت.
C-a = (removebuf) يزيل الملف المستخدم بواسطة C-a < و C-a \>.
C-a , (license) يعرض من أين أتت شاشة، وإلى أين ذهبت، ولماذا يمكنك استخدامها.
C-a _ (silence) يبدأ/يوقف مراقبة النافذة الحالية بحثًا عن عدم النشاط.
C-a | (split -v) يقسم المنطقة الحالية رأسيًا إلى منطقتين جديدتين.
C-a * (displays) يعرض قائمة بجميع الشاشات المرفقة حاليًا.
التخصيص
افتراضيًا، يكون دليل المقبس هو إما $HOME/.screen أو ببساطة /tmp/screens أو يفضل أن يكون /run/screen، ويتم تحديده في وقت الترجمة. إذا تم تثبيت شاشة كمستخدم عادي، فيجب على المسؤول تجميع شاشة بدليل مقبس مناسب (ليس مُثبتًا على NFS). إذا لم تكن شاشة قيد التشغيل كمستخدم عادي، يمكن للمستخدم تحديد أي دليل ذي وضع 700 في متغير البيئة $SCREENDIR.
عند استدعاء شاشة، تقوم بتنفيذ أوامر التهيئة من الملفين /etc/screenrc والإعدادات الافتراضية التي يمكن تجاوزها بالطرق التالية: بالنسبة لملف screenrc العام، تبحث شاشة عن متغير البيئة $SYSSCREENRC (يمكن تعطيل هذه الميزة في وقت الترجمة). يتم البحث عن ملف screenrc الخاص بالمستخدم في $SCREENRC، ثم $HOME/.screenrc. خيار سطر الأوامر -c له الأسبقية على ملفات screenrc الخاصة بالمستخدم المذكورة أعلاه.
تُستخدم الأوامر في هذه الملفات لتعيين الخيارات، وربط الوظائف بالمفاتيح، وإنشاء نافذة واحدة أو أكثر تلقائيًا في بداية جلسة الشاشة. يتم سرد الأوامر سطرًا واحدًا في كل مرة، ويتم تجاهل الأسطر الفارغة. يتم فصل وسيطات الأمر بمسافات أو علامات تبويب، ويمكن إحاطتها بعلامات اقتباس مفردة أو مزدوجة. يحول الرمز '#' بقية السطر إلى تعليق، باستثناء ما هو موجود داخل علامات الاقتباس. يتم تحذير الأسطر غير المفهومة وتجاهلها. يمكن أن تحتوي الأوامر على مراجع لمتغيرات البيئة. الصيغة هي صيغة shell، مثل "$VAR " أو "${VAR}". لاحظ أن هذا يسبب عدم التوافق مع الإصدارات السابقة من شاشة، حيث يجب الآن حماية الرمز '$' باستخدام '\' إذا لم يتم إجراء استبدال المتغير. سلسلة داخل علامات اقتباس مفردة محمية أيضًا من استبدال المتغير.
يتم شحن ملفي تكوين كمثال مع توزيعة شاشة الخاصة بك: etc/screenrc و etc/etcscreenrc. تحتوي على عدد من الأمثلة المفيدة للأوامر المختلفة.
يمكن أيضًا إجراء التخصيص 'عبر الإنترنت'. للدخول إلى وضع الأوامر، اكتب 'C-a :'. لاحظ أن الأوامر التي تبدأ بـ def تغير القيم الافتراضية، بينما تغير الأوامر الأخرى الإعدادات الحالية.
الأوامر التالية متاحة:
acladd usernames [crypted-pw]
addacl usernames
تمكين المستخدمين من الوصول الكامل إلى جلسة الشاشة هذه. يمكن أن تكون أسماء المستخدمين مستخدمًا واحدًا أو قائمة مفصولة بفواصل من المستخدمين. يمكّن هذا الأمر من إرفاق جلسة الشاشة وينفذ ما يعادله من `aclchg usernames +rwx "#?"`. يتم تنفيذه. لإضافة مستخدم مع وصول مقيد، استخدم الأمر `aclchg` أدناه. إذا تم توفير معلمة ثانية اختيارية، فيجب أن يكون كلمة مرور مشفرة للمستخدم (المستخدمين) المسمى. `Addacl` هو مرادف لـ `acladd`. وضع تعدد المستخدمين فقط.
aclchg أسماء_المستخدمين أذونات_الوصول قائمة
chacl أسماء_المستخدمين أذونات_الوصول قائمة
يغير الأذونات لقائمة مفصولة بفواصل من المستخدمين. يتم تمثيل أذونات الوصول كـ `r` و `w` و `x`. يؤدي إضافة `+` إلى بداية الحرف إلى منح الإذن، بينما يؤدي إضافة `-` إلى إزالته. المعلمة الثالثة هي قائمة مفصولة بفواصل من الأوامر و/أو النوافذ (يتم تحديدها إما بالرقم أو بالعنوان). تشير القائمة الخاصة `#'` إلى جميع النوافذ، وتشير `?'` إلى جميع الأوامر. إذا كانت أسماء_المستخدمين تتكون من `*` واحدة، فسيتم التأثير على جميع المستخدمين المعروفين.
يمكن تنفيذ أمر عندما يكون لدى المستخدم بت `x` الخاص به. يمكن للمستخدم إدخال نص في نافذة عندما يتم تعيين بت `w` الخاص به ولا يحصل أي مستخدم آخر على قفل كتابة لهذه النافذة. يتم تجاهل البتات الأخرى حاليًا. لإزالة قفل الكتابة من مستخدم آخر في النافذة 2: `aclchg اسم_المستخدم -w+w 2`. للسماح بالوصول للقراءة فقط إلى الجلسة: `aclchg اسم_المستخدم -w "#"`. بمجرد أن يصبح اسم المستخدم معروفًا لـ screen، يمكنه الاتصال بالجلسة و (افتراضيًا) لديه أذونات كاملة لجميع الأوامر والنوافذ. يجب أيضًا إزالة إذن التنفيذ لأوامر acl و `at` وغيرها، وإلا فقد يتمكن المستخدم من استعادة إذن الكتابة. لا يمكن تغيير حقوق اسم المستخدم الخاص `nobody` (انظر الأمر `su`). `chacl` هو مرادف لـ `aclchg`. وضع تعدد المستخدمين فقط.
acldel اسم_المستخدم
يزيل مستخدمًا من قائمة التحكم في الوصول في screen. إذا كان متصلاً حاليًا، فسيتم فصل جميع شاشات المستخدم عن الجلسة. لا يمكنه الاتصال مرة أخرى. وضع تعدد المستخدمين فقط.
aclgrp اسم_المستخدم [اسم_المجموعة]
ينشئ مجموعات من المستخدمين الذين يشتركون في حقوق الوصول المشتركة. اسم المجموعة هو اسم مستخدم قائد المجموعة. يرث كل عضو في المجموعة الأذونات الممنوحة لقائد المجموعة. وهذا يعني أنه إذا فشل فحص الوصول لمستخدم ما، فسيتم إجراء فحص آخر لقائد المجموعة. تتم إزالة المستخدم من جميع المجموعات باستخدام القيمة الخاصة `none` لـ اسم_المجموعة. إذا تم حذف المعلمة الثانية، فسيتم سرد جميع المجموعات التي ينتمي إليها المستخدم.
aclumask [[ أسماء_المستخدمين ] +بتات | [ أسماء_المستخدمين ] -بتات... ]
umask [[ أسماء_المستخدمين ] +بتات | [ أسماء_المستخدمين ] -بتات... ]
يحدد هذا الوصول الذي يتمتع به المستخدمون الآخرون إلى النوافذ التي سيتم إنشاؤها بواسطة متصل الأمر. يمكن أن تكون أسماء_المستخدمين لا شيء، أو مستخدم واحد، أو قائمة مفصولة بفواصل من أسماء المستخدمين المعروفين. إذا لم يتم تحديد أي مستخدمين، فسيتم افتراض قائمة بجميع المستخدمين المعروفين حاليًا. البتات هي أي مجموعة من بتات التحكم في الوصول المسموح بها المعرفة بأمر `aclchg`. يحدد اسم المستخدم الخاص `?` مسبقًا الوصول الذي سيتم منحه للمستخدمين غير المعروفين بعد لأي نافذة في البداية. يحدد اسم المستخدم الخاص `??` مسبقًا الوصول الذي يتم منحه للمستخدمين غير المعروفين بعد لأي أمر. لا يمكن تغيير حقوق اسم المستخدم الخاص `nobody` (انظر الأمر `su`). `umask` هو مرادف لـ `aclumask`.
رسالة النشاط
عندما يحدث أي نشاط في نافذة خلفية قيد المراقبة، يعرض الشاشة إشعارًا في سطر الرسائل. يمكن إعادة تعريف رسالة الإشعار عن طريق استخدام الأمر "activity". يتم استبدال كل ظهور لـ "%" في الرسالة برقم النافذة التي حدث فيها النشاط، ويتم استبدال كل ظهور لـ "^G" بتعريف "bell" في ملف termcap الخاص بك (عادةً ما يكون جرسًا مسموعًا). الرسالة الافتراضية هي:
"نشاط في النافذة رقم %n"
لاحظ أن المراقبة معطلة لجميع النوافذ افتراضيًا، ولكن يمكن تغيير ذلك باستخدام الأمر "monitor" (C-a M).
allpartial [ تشغيل | إيقاف ]
إذا تم تعيينه على "تشغيل"، فسيتم تحديث السطر الحالي فقط عند تغيير النافذة. يؤثر هذا على جميع النوافذ وهو مفيد لخطوط المحطات البطيئة. يتم استعادة الإعداد السابق لـ "تحديث كامل / جزئي" لكل نافذة عندما يكون "allpartial" معطلًا. هذا علم عالمي يسري على الفور على جميع النوافذ، متجاوزًا إعدادات التحديث الجزئي. لا يغير هذا سلوك إعادة الرسم الافتراضي للنوافذ التي تم إنشاؤها حديثًا.
altscreen [ تشغيل | إيقاف ]
إذا تم تعيينه على "تشغيل"، يتم تمكين دعم "شاشة بديلة" في المحطات الافتراضية، تمامًا كما هو الحال في xterm. الإعداد الأولي هو "إيقاف".
at [معرّف][# | * | %] الأمر [الوسائط ...]
نفّذ أمرًا في شاشات أو نوافذ أخرى كما لو تم إدخاله هناك. يقوم "at" بتغيير سياق الأمر (إعداد "النافذة الحالية" أو "إعداد الشاشة الحالية"). إذا كان المعلمة الأولى تصف سياقًا غير فريد، فسيتم تنفيذ الأمر عدة مرات. إذا كانت المعلمة الأولى على شكل "معرّف*"، فسيتم مطابقة المعرّف بأسماء المستخدمين. يتم تنفيذ الأمر مرة واحدة لكل شاشة من المستخدمين المحددين. إذا كانت المعلمة الأولى على شكل "معرّف%"، فسيتم مطابقة المعرّف بشاشات العرض. يتم تسمية الشاشات بناءً على وحدات التحكم الطرفية (ttys) التي تتصل بها. يمكن حذف البادئة "/dev/" أو "/dev/tty" من المعرّف. إذا كان المعرّف يحتوي على "#" أو لا يوجد شيء مضاف إليه، فإنه تتم مطابقته بأرقام وعناوين النوافذ. يؤدي حذف المعرّف أمام الحرف "#" أو "*" أو "%" إلى تحديد جميع المستخدمين أو الشاشات أو النوافذ لأن يتم إجراء مطابقة بادئة. لاحظ أنه في الشاشات المتأثرة، ستظهر رسالة قصيرة تصف ما حدث. يتم التحقق من الأذونات للمُهيئ لأمر "at"، وليس لأصحاب الشاشات المتأثرة. لاحظ أنه يعمل الحرف "#" كمقدمة للتعليق عندما يسبقه مسافة. يمكن الهروب منه عن طريق إضافة البادئة "\". يتم التحقق من الأذونات للمُهيئ لأمر "at"، وليس لأصحاب الشاشات المتأثرة.
تحذير: عند المطابقة مع النوافذ، يتم تنفيذ الأمر مرة واحدة على الأقل لكل نافذة. قد يتم استدعاء الأوامر التي تغير الترتيب الداخلي للنوافذ (مثل "other") مرة أخرى. في النوافذ المشتركة، سيتم تكرار الأمر لكل شاشة متصلة. احذر، عند إصدار أوامر تبديل مثل "login!". تتطلب بعض الأوامر (مثل "process") أن تكون هناك شاشة مرتبطة بالنوافذ المستهدفة. قد لا تعمل هذه الأوامر بشكل صحيح عند التكرار عبر النوافذ باستخدام "at".
attrcolor attrib [attribute/color-modifier]
يستخدم هذا الأمر لتسليط الضوء على السمات عن طريق تغيير لون النص. إذا كانت السمة attrib قيد الاستخدام، فسيتم تطبيق مُعدِّل اللون/السمة المحدد أيضًا. إذا لم يتم تقديم أي مُعدِّل، فسيتم حذف المُعدِّل الحالي. راجع الفصل الخاص بـ "تسلسلات الأحرف الخاصة" للحصول على بناء جملة المُعدِّل. يفهم برنامج "شاشة" سمتين زائفتين: i تعني لون المقدمة عالي الكثافة و I تعني لون الخلفية عالي الكثافة.
أمثلة:
attrcolor b "R"
يغير اللون إلى الأحمر الفاتح إذا كان من المفترض طباعة نص غامق.
attrcolor u "-u b"
يستخدم النص الأزرق بدلاً من التسطير.
attrcolor b ".I"
يستخدم ألوانًا زاهية للنص الغامق. تفعل معظم محاكيات الطرفية هذا بالفعل.
attrcolor i "+b"
يجعل النص الملون الزاهي أيضًا غامقًا.
autodetach [ تشغيل | إيقاف ]
يحدد ما إذا كان برنامج "شاشة" سينفصل تلقائيًا عند حدوث تعطل، مما يحفظ جميع البرامج قيد التشغيل حتى تتم استئنافها باستخدام الأمر screen -r. عند إيقافه، ستؤدي إشارة التعطيل إلى إنهاء برنامج "شاشة" وجميع العمليات التي يحتوي عليها. يكون الانفصال التلقائي قيد التشغيل افتراضيًا.
autonuke [ تشغيل | إيقاف ]
يحدد ما إذا كان يجب مسح جميع المخرجات التي لم تتم كتابتها إلى الطرفية عند إصدار تسلسل مسح الشاشة. راجع أيضًا obuflimit.
backtick id lifespan autorefresh cmd args...
backtick id
برمجة أمر "backtick" باستخدام المعرف العددي id. يتم استخدام مخرجات هذا الأمر للاستبدال بتسلسل الأحرف الخاص %. المعلمة lifespan هي عدد الثواني التي تعتبر فيها المخرجات صالحة. بعد هذا الوقت، يتم إعادة تشغيل الأمر إذا تمت مواجهة تسلسل الأحرف الخاص المطابق. تُفعِّل المعلمة autorefresh تحديثًا تلقائيًا لسلاسل caption و hardstatus بعد عدد الثواني المحدد. يتم استخدام السطر الأخير من المخرجات فقط للاستبدال.
إذا كانت كل من المعلمتين lifespan و autorefresh تساوي صفرًا، فيُتوقع أن يبقى برنامج backtick قيد التشغيل في الخلفية وينتج مخرجات من وقت لآخر. في هذه الحالة، يتم تنفيذ الأمر على الفور ويخزن برنامج "شاشة" السطر الأخير من المخرجات. إذا تمت طباعة سطر جديد، فسيقوم برنامج "شاشة" بتحديث hardstatus أو caption تلقائيًا.
يستخدم الشكل الثاني من الأمر لحذف أمر "backtick" بالمعرف العددي id.
bce [ تشغيل | إيقاف ]
تغيير إعداد background-color-erase. إذا تم تعيين bce على "تشغيل"، فسيتم عرض جميع الأحرف التي يتم مسحها بواسطة عملية مسح/إدراج/تمرير/مسح باللون الحالي للخلفية. وإلا، سيتم استخدام لون الخلفية الافتراضي.
bell_msg [رسالة]
عندما يتم إرسال حرف الجرس إلى نافذة في الخلفية، يعرض برنامج "شاشة" إشعارًا في سطر الرسائل. يمكن إعادة تعريف رسالة الإشعار بواسطة هذا الأمر. يتم استبدال كل ظهور لـ '% في الرسالة برقم النافذة التي تم إرسال الجرس إليها، ويتم استبدال كل ظهور لـ '^G' بالتعريف الخاص بالجرس في ملف termcap (عادةً ما يكون جرسًا مسموعًا). الرسالة الافتراضية هي:
'Bell in window %n'
يمكن توفير رسالة فارغة إلى الأمر bell_msg لقمع إخراج سطر الرسالة (bell_msg ""). بدون معلمة، يتم عرض الرسالة الحالية.
`bind [class] key [command [args]]`
ربط أمر بمفتاح. بشكل افتراضي، يتم ربط معظم الأوامر التي يوفرها screen بمفتاح واحد أو أكثر، كما هو موضح في قسم "الربط الافتراضي للمفاتيح"، على سبيل المثال، يتم ربط الأمر لإنشاء نافذة جديدة بالمفاتيح C-c و c. يمكن استخدام الأمر bind لإعادة تعريف روابط المفاتيح وتحديد روابط جديدة. الوسيطة key هي إما حرف واحد، أو تسلسل مكون من حرفين من النموذج ^x (بمعنى C-x)، أو شرطة مائلة للخلف متبوعة برقم ثماني (لتحديد رمز ASCII للحرف)، أو شرطة مائلة للخلف متبوعة بحرف ثانٍ، مثل \ أو \\. يمكن أيضًا وضع الوسيطة بين علامتي اقتباس، إذا أردت. إذا لم يتم تقديم وسيطة أخرى، تتم إزالة أي ربط تم إنشاؤه مسبقًا لهذا المفتاح. يمكن أن تكون الوسيطة command أي أمر مدرج في هذا القسم.
إذا تم تحديد فئة أمر عبر الخيار -c، يتم ربط المفتاح للفئة المحددة. استخدم الأمر command لتنشيط فئة. يمكن استخدام فئات الأوامر لإنشاء مفاتيح أو روابط متعددة الأحرف.
بعض الأمثلة:
`bind ' ' windows`
`bind ^k`
`bind k`
`bind K kill`
`bind ^f screen telnet foobar`
`bind \033 screen -ln -t root -h 1000 9 su`
سيؤدي ذلك إلى ربط مفتاح المسافة بالأمر الذي يعرض قائمة بالنوافذ (بحيث يكون الأمر الذي يتم تنفيذه عادةً بواسطة C-a C-w متاحًا أيضًا كـ C-a مسافة). ثم تزيل الأسطر الثلاثة التالية الربط الافتراضي للأمر `kill` من C-a C-k و C-a k. ثم يتم ربط C-a K بأمر `kill`. بعد ذلك، فإنه يربط C-f بالأمر لإنشاء نافذة مع اتصال TELNET بـ foobar، ويربط مفتاح escape بالأمر الذي ينشئ نافذة غير تسجيل دخول، والمعروفة أيضًا باسم root، في الفتحة رقم 9، مع shell مستخدم فائق الامتيازات وذاكرة تخزين مؤقت للتمرير تحتوي على 1000 سطر.
`bind -c demo1 0 select 10`
`bind -c demo1 1 select 11`
`bind -c demo1 2 select 12`
`bindkey "^B" command -c demo1`
يجعل C-b 0 يحدد النافذة 10، و C-b 1 يحدد النافذة 11، إلخ.
`bind -c demo2 0 select 10`
`bind -c demo2 1 select 11`
`bind -c demo2 2 select 12`
`bind - command -c demo2`
يجعل C-a - 0 يحدد النافذة 10، و C-a - 1 يحدد النافذة 11، إلخ.
`bindkey [-d] [-m] [-a] [[-k|-t] string [cmd-args]]`
يقوم هذا الأمر بإدارة جداول ترجمة إدخال screen. يخبر كل إدخال في أحد الجداول screen بكيفية التفاعل إذا تمت مواجهة تسلسل معين من الأحرف. هناك ثلاث جداول: واحدة يجب أن تحتوي على الإجراءات التي يبرمجها المستخدم، وواحدة للإجراءات الافتراضية المستخدمة لمحاكاة الجهاز الطرفي، وواحدة لوضع نسخ screen لإجراء حركة المؤشر. انظر القسم "ترجمة الإدخال" للحصول على قائمة بالربط الافتراضي للمفاتيح.
إذا تم إعطاء الخيار -d، يقوم bindkey بتعديل الجدول الافتراضي، و -m يغير جدول وضع النسخ، وبدون أي من الخيارين، يتم تحديد جدول المستخدم. سلسلة الوسائط هي تسلسل الأحرف التي يتم ربط الإجراء بها. يمكن أن تكون هذه سلسلة ثابتة أو اسم قدرة طرفية (يمكن تحديده باستخدام الخيار -k).
تحتوي بعض المفاتيح الموجودة في طرفية VT100 على سلسلة مختلفة إذا تم تشغيل وضع التطبيق (مثل مفاتيح المؤشر). تحتوي هذه المفاتيح على إدخالين في جدول الترجمة. يمكنك تحديد إدخال وضع التطبيق عن طريق تحديد الخيار -a.
يخبر الخيار -t برنامج screen بعدم إجراء توقيت بين الأحرف. لا يمكن إيقاف التوقيت إذا تم استخدام قدرة طرفية.
يمكن أن يكون cmd أيًا من أوامر screen مع عدد عشوائي من الوسائط. إذا تم حذف cmd، تتم إزالة ربط المفاتيح من الجدول.
فيما يلي بعض الأمثلة على روابط لوحة المفاتيح:
bindkey -d
عرض جميع روابط المفاتيح الافتراضية. يتم تمييز إدخالات وضع التطبيق بـ [A].
bindkey -k k1 select 1
اجعل مفتاح "F1" ينتقل إلى النافذة رقم واحد.
bindkey -t foo stuff barfoo
اجعل "foo" اختصارًا للكلمة "barfoo". يتم تعطيل المهلة الزمنية بحيث يمكن للمستخدمين الكتابة ببطء.
bindkey "\024" mapdefault
يجعل هذا الربط للمفتاح ^T حرف هروب لربط المفاتيح. إذا قمت بإجراء ربط "stuff barfoo" أعلاه، فيمكنك إدخال الكلمة "foo" عن طريق كتابة ^Tfoo. إذا كنت تريد إدراج ^T، فيجب عليك الضغط على المفتاح مرتين (أي الهروب من ربط الهروب).
bindkey -k F1 command
اجعل مفتاح F11 (وليس F1!) بمثابة اختصار بديل لشاشة (بالإضافة إلى ^A).
break [duration]
أرسل إشارة مقاطعة لمدة duration * 0.25 ثانية إلى هذه النافذة. بالنسبة للأنظمة غير المتوافقة مع معيار POSIX، قد يتم تقريب الفترة الزمنية إلى ثوانٍ كاملة. يكون هذا مفيدًا بشكل خاص إذا تم إرفاق جهاز حرفي بالنافذة بدلاً من عملية shell (انظر أيضًا الفصل "أنواع النوافذ"). الحد الأقصى لمدة إشارة المقاطعة هو 15 ثانية.
blanker
قم بتنشيط برنامج تظليل الشاشة. أولاً، يتم مسح الشاشة. إذا لم يتم تحديد برنامج تظليل، يتم إيقاف تشغيل المؤشر، وإلا، يتم بدء تشغيل البرنامج ويتم كتابة مخرجاته إلى الشاشة. يتم إنهاء برنامج تظليل الشاشة عند الضغط على أي مفتاح، ويتم تجاهل المفتاح الذي تم قراءته.
يتم استخدام هذا الأمر عادةً مع الأمر idle.
blankerprg [program-args]
يحدد برنامج تظليل الشاشة. يتم تعطيل برنامج تظليل الشاشة إذا تم إعطاء وسيطة فارغة. يعرض برنامج تظليل الشاشة المحدد حاليًا إذا لم يتم إعطاء أي وسائط.
breaktype [tcsendbreak|TIOCSBRK|TCSBRK]
اختر إحدى الطرق المتاحة لإنشاء إشارة مقاطعة لأجهزة المحطة الطرفية. يجب أن يؤثر هذا الأمر على النافذة الحالية فقط. ولكنه لا يزال يتصرف بشكل مماثل لـ defbreaktype. سيتم تغيير هذا في المستقبل. يؤدي استدعاء breaktype بدون معلمة إلى عرض طريقة المقاطعة للنافذة الحالية.
bufferfile [exchange-file]
يغيّر اسم الملف المستخدم للقراءة والكتابة مع ذاكرة التخزين المؤقت. إذا تم حذف الوسيطة الاختيارية للأمر `bufferfile`، فسيتم إعادة تنشيط الإعداد الافتراضي (/tmp/screen-exchange). المثال التالي سيقوم بلصق ملف كلمة مرور النظام في نافذة الشاشة (باستخدام ذاكرة التخزين المؤقت، حيث تظل نسخة):
C-a : bufferfile /etc/passwd
C-a < C-a ]
C-a : bufferfile
bumpleft
يبدّل النافذة مع النافذة السابقة في قائمة النوافذ.
bumpright
يبدّل النافذة مع النافذة التالية في قائمة النوافذ.
c1 [ on | off ]
يغيّر معالجة رموز c1. يشير `C1 on` إلى أن برنامج الشاشة يجب أن يعامل الأحرف المدخلة بين 128 و 159 كدوال تحكم. عادةً ما يكون هذا الرمز ذو 8 بت هو نفسه `ESC` متبوعًا بالرمز ذي 7 بت المقابل. الإعداد الافتراضي هو معالجة رموز c1 ويمكن تغييره باستخدام الأمر `defc1`. قد يرغب المستخدمون الذين لديهم خطوط تحتوي على أحرف قابلة للاستخدام في مواضع c1 في إيقاف تشغيله.
caption [ top | bottom ] always|splitonly[string]
caption string [string]
يتحكم هذا الأمر في عرض تسميات النوافذ. عادةً ما يتم استخدام التسمية فقط إذا تم عرض أكثر من نافذة واحدة على الشاشة (وضع الشاشة المقسمة). ولكن إذا تم تعيين النوع على `always`، فستعرض الشاشة تسمية حتى إذا تم عرض نافذة واحدة فقط. الإعداد الافتراضي هو `splitonly`.
تغيّر الشكل الثاني النص المستخدم للتسمية. يمكنك استخدام جميع الهروب من الفصل `STRING ESCAPES`. تستخدم الشاشة افتراضيًا `%3n %t`.
يمكنك دمج كلا الشكلين عن طريق توفير سلسلة كوسيطة إضافية.
يمكن عرض التسمية إما في الجزء العلوي أو السفلي من النافذة. الإعداد الافتراضي هو `bottom`.
charset set
يغيّر تسمية مجموعة الأحرف الحالية وتعيين الأحرف. يتم التعامل مع الأحرف الأربعة الأولى من `set` كمحددات لمجموعة الأحرف بينما يجب أن يكون الحرفان الخامس والسادس في نطاق '0' إلى '3' ويحددان تعيين الأحرف GL/GR. في كل موضع، يمكن استخدام '.' للإشارة إلى أنه يجب عدم تغيير مجموعة الأحرف/التعيين المقابل (يتم حشو `set` داخليًا عن طريق إلحاق أحرف '.'). تحتوي النوافذ الجديدة على "BBBB02" كمجموعة أحرف افتراضية، إلا إذا كان أمر التشفير نشطًا. يمكن عرض الإعداد الحالي باستخدام الأمر `info`.
chdir [directory]
يغيّر الدليل الحالي للشاشة إلى الدليل المحدد أو، إذا تم استدعاؤه بدون وسيطة، إلى الدليل الرئيسي (قيمة متغير البيئة `$HOME`). جميع النوافذ التي يتم إنشاؤها عن طريق الأمر `screen` من داخل ملف `.screenrc` أو عن طريق `C-a : screen ...` أو `C-a c` تستخدم هذا كدليل افتراضي لها. بدون أمر `chdir`، سيكون هذا هو الدليل الذي تم استدعاء الشاشة منه.
يتم دائمًا كتابة ملفات النسخ الاحتياطي والسجلات إلى الدليل الافتراضي للنافذة، وليس الدليل الحالي للعملية قيد التشغيل في النافذة. يمكنك استخدام هذا الأمر عدة مرات في ملف `.screenrc` لبدء نوافذ مختلفة في أدلة افتراضية مختلفة، ولكن ستؤثر قيمة `chdir` الأخيرة على جميع النوافذ التي تقوم بإنشائها بشكل تفاعلي.
cjkwidth [ تشغيل | إيقاف ]
تعامل مع الأحرف الغامضة كأحرف بعرض كامل/نصف.
clear
يمسح النافذة الحالية ويحفظ صورتها في مخزن التمرير.
collapse
يعيد ترتيب النوافذ في قائمة النوافذ، مع إزالة الفجوات بينها.
colon [بادئة]
يسمح لك بإدخال أسطر أوامر .screenrc. مفيد لتعديل ربط المفاتيح، وإنشاء نوافذ محددة، وتغيير الإعدادات أثناء التشغيل. لاحظ أن الكلمة الأساسية "set" لم تعد موجودة! عادةً ما تؤثر الأوامر على النافذة الحالية بدلاً من الإعدادات الافتراضية للنوافذ المستقبلية. لتغيير الإعدادات الافتراضية، استخدم الأوامر التي تبدأ بـ "def...".
إذا كنت تعتبر هذا بمثابة "وضع أوامر Ex" في screen، فيمكنك اعتبار C-a esc (وضع النسخ) بمثابة "وضع أوامر Vi".
command [ -c فئة"]"
يؤدي هذا الأمر إلى نفس تأثير كتابة حرف الهروب لـ screen (^A). ربما يكون مفيدًا فقط لربط المفاتيح. إذا تم إعطاء الخيار "-c"، فحدد فئة الأوامر المحددة. انظر أيضًا bind و bindkey.
compacthist [ تشغيل | إيقاف ]
يخبر هذا screen بما إذا كان سيقوم بقمع الأسطر الفارغة اللاحقة عند التمرير لأعلى إلى مخزن السجل.
console [ تشغيل | إيقاف ]
يقوم بالتقاط أو إلغاء التقاط إخراج وحدة التحكم الخاصة بالجهاز في نافذة. ملاحظة: يمكن فقط لمالك /dev/console التقاط إخراج وحدة التحكم. هذا الأمر متاح فقط إذا كان الجهاز يدعم الأمر ioctl TIOCCONS.
copy
ادخل وضع النسخ/التمرير. يسمح لك هذا بنسخ النص من النافذة الحالية وسجلها إلى مخزن اللصق. في هذا الوضع، يكون "محرر شاشة كامل" شبيه بـ vi نشطًا:
مفاتيح حركة المحرر هي:
h، C-h، حرك المؤشر إلى اليسار.
سهم لليسار
j، C-n، حرك المؤشر إلى الأسفل.
سهم للأسفل
k، C-p، حرك المؤشر إلى الأعلى.
سهم للأعلى
l ('el')، حرك المؤشر إلى اليمين.
سهم لليمين
0 (صفر) C-a انتقل إلى العمود الأيسر.
+ و - موضعين سطر للأعلى والأسفل.
H، M و L حرك المؤشر إلى العمود الأيسر من
السطر العلوي أو الأوسط أو السفلي من النافذة.
| ينتقل إلى العمود المطلق المحدد.
g أو home ينتقل إلى بداية المخزن المؤقت.
G أو end ينتقل إلى السطر المطلق المحدد (افتراضي:
نهاية المخزن المؤقت).
% يقفز إلى النسبة المئوية المحددة من المخزن المؤقت.
^ أو $ حرك المؤشر إلى العمود الأيسر، إلى الأول أو
آخر حرف غير مسافة في السطر.
w، b، و e حرك المؤشر كلمة بكلمة.
B، E حرك المؤشر كلمة بكلمة (كما في vi).
f/F، t/T حرك المؤشر للأمام/للخلف إلى الظهور التالي للهدف. (على سبيل المثال، "3fy" سيحرك
المؤشر إلى حرف "y" الثالث على اليمين).
; و، كرر الأمر الأخير f/F/t/T في نفس/الاتجاه المعاكس.
C-e و C-y قم بالتمرير لأعلى/لأسفل بمقدار سطر واحد مع
الحفاظ على موضع المؤشر.
C-u و C-d قم بالتمرير لأعلى/لأسفل بالمقدار المحدد من الأسطر مع الحفاظ على موضع المؤشر. (افتراضي: نصف الشاشة - شاشة كاملة).
C-b و C-f: قم بالتمرير لأعلى/لأسفل شاشة كاملة.
ملاحظة: يمكن تخصيص مفاتيح الحركة بنمط Emacs باستخدام أمر .screenrc. (على سبيل المثال، "h=^B:l=^F:$=^E") لا توجد طريقة بسيطة لإنشاء مجموعة مفاتيح كاملة بنمط Emacs، حيث يتضمن ذلك رموزًا متعددة الأحرف.
تم تعريف بعض المفاتيح لتنفيذ عمليات تحديد واستبدال.
يتم تحديد نطاق النسخ عن طريق تعيين علامتين. سيتم تمييز النص بين هاتين العلامتين. اضغط على:
مسافة أو مفتاح الإدخال لتعيين العلامة الأولى أو الثانية على التوالي. إذا تم تعيين mousetrack على "تشغيل"، فيمكن أيضًا تعيين العلامات باستخدام النقر بالزر الأيسر للفأرة.
Y و y لتحديد سطر كامل أو لتحديد بداية السطر.
W لتحديد كلمة واحدة بالضبط.
يمكن أن يسبق أي من هذه الأوامر عدد تكرار عن طريق الضغط على الأرقام.
.9 والتي تُعتبر عدد تكرار.
مثال: C-a C-[ H 10 j 5 Y لنسخ الأسطر من 11 إلى 15 إلى مخزن اللصق.
المفاتيح البحثية التالية معرفة:
/ بحث أمامي بنمط Vi.
? بحث خلفي بنمط Vi.
C-a s بحث تدريجي أمامي بنمط Emacs.
C-r بحث عكسي بنمط Emacs.
n ابحث عن النمط التالي.
N ابحث عن النمط السابق.
ومع ذلك، هناك بعض المفاتيح التي تعمل بشكل مختلف عما هو عليه في vi. لا تسمح Vi للمستخدم بنسخ كتل مستطيلة من النص، ولكن تسمح بذلك شاشة. اضغط على: c أو C لتعيين الهامش الأيسر أو الأيمن على التوالي. إذا لم يتم إعطاء عدد تكرار، فسيتم تعيين كليهما على موضع المؤشر الحالي.
مثال: جرّب ذلك على شاشة نصية كاملة نسبيًا:
C-a [ M 20 l SPACE c 10 l 5 j C SPACE.
ينقلك هذا إلى منتصف الشاشة، وينتقل 20 عمودًا إلى اليسار، ويضع علامة على بداية مخزن اللصق، ويحدد العمود الأيسر، وينتقل 5 أعمدة إلى الأسفل، ويحدد العمود الأيمن، ثم يضع علامة على نهاية مخزن اللصق. الآن جرّب:
C-a [ M 20 l SPACE 10 l 5 j SPACE
ولاحظ الفرق في مقدار النص الذي تم نسخه.
J يربط الأسطر. وهو يتبدّل بين 4 أوضاع: أسطر مفصولة بحرف سطر جديد (012)، أسطر ملتصقة بسلاسة، أسطر مفصولة بمسافة واحدة، وأسطر مفصولة بفاصلة. لاحظ أنه يمكنك إضافة حرف إرجاع السطر إلى بداية حرف السطر الجديد عن طريق إصدار أمر crlf on.
v أو V مخصصة لجميع مستخدمي vi الذين لديهم :set numbers - فهو يتبدّل بين الهامش الأيسر بين العمود 9 والعمود 1. اضغط على
a قبل مفتاح المسافة الأخير للتبديل إلى وضع الإلحاق. وبالتالي، لن يتم الكتابة فوق محتويات مخزن اللصق، ولكن سيتم إلحاقها.
A يتبدّل إلى وضع الإلحاق ويحدد (علامة ثانية).
> يحدد (العلامة الثانية) ويكتب محتويات مخزن اللصق إلى ملف التبادل للشاشة (/tmp/screen-exchange افتراضيًا) بمجرد انتهاء وضع النسخ.
يوضح هذا المثال كيفية تفريغ كامل مخزن التمرير إلى هذا الملف: C-A [ g SPACE G $.
C-g يعرض معلومات حول السطر والعمود الحاليين.
x أو o يتبادلان بين العلامة الأولى وموضع المؤشر الحالي. يمكنك استخدام هذا لضبط علامة تم وضعها بالفعل.
C-l ('el') سيعيد رسم الشاشة.
@ لا يفعل شيئًا. ولا يخرج حتى من وضع النسخ.
جميع المفاتيح غير الموصوفة هنا تخرج من وضع النسخ.
copy_reg [مفتاح]
لم يعد موجودًا، استخدم readreg بدلاً من ذلك.
crlf [ تشغيل | إيقاف ]
يؤثر هذا على نسخ مناطق النص باستخدام الأمر C-a ['. إذا تم تعيينه على تشغيل، فسيتم فصل الأسطر
بالتسلسل المكون من حرفين CR - LF. وإلا (افتراضيًا) يتم استخدام LF فقط. عند عدم إعطاء أي معلمة، يتم تبديل الحالة.
debug [ تشغيل | إيقاف ]
يقوم بتشغيل أو إيقاف تصحيح الأخطاء في وقت التشغيل. إذا تم تجميع الشاشة باستخدام الخيار -DDEBUG، فسيكون تصحيح الأخطاء
متاحًا ويتم تشغيله افتراضيًا. لاحظ أن هذا الأمر يؤثر فقط على مخرجات تصحيح الأخطاء من
عملية SCREEN الرئيسية بشكل صحيح. لا يمكن إيقاف مخرجات تصحيح الأخطاء من العمليات الملحقة
إلا مرة واحدة وإلى الأبد.
defc1 [ تشغيل | إيقاف ]
نفس الأمر c1 باستثناء أنه يتم تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو تشغيل.
defautonuke [ تشغيل | إيقاف ]
نفس الأمر autonuke باستثناء أنه يتم تغيير الإعداد الافتراضي لشاشات العرض الجديدة. الإعداد الأولي
هو إيقاف. لاحظ أنه يمكنك استخدام إمكانية الطرفية الخاصة AN إذا كنت تريد الاعتماد على نوع الطرفية.
defbce [ تشغيل | إيقاف ]
نفس الأمر bce باستثناء أنه يتم تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو إيقاف.
defbreaktype [tcsendbreak|TIOCSBRK|TCSBRK]
اختر إحدى الطرق المتاحة لإنشاء إشارة انقطاع لأجهزة الطرفية. الطرق المفضلة هي tcsendbreak و TIOCSBRK. الطريقة الثالثة، TCSBRK، تحظر جلسة الشاشة بالكامل لمدة الانقطاع، ولكن قد تكون الطريقة الوحيدة لإنشاء انقطاعات طويلة. قد ينتج عن tcsendbreak و TIOCSBRK انقطاعات طويلة ذات نبضات (مثل 4 نبضات في الثانية). هذا ليس فقط اعتمادًا على النظام، بل يختلف أيضًا بين برامج تشغيل المنافذ التسلسلية. يمكن أن يؤدي استدعاء defbreaktype بدون معلمة إلى عرض الإعداد الحالي.
defcharset [مجموعة]
مثل الأمر charset باستثناء أنه يتم تغيير الإعداد الافتراضي للنوافذ الجديدة. يعرض الإعداد الافتراضي الحالي إذا تم استدعاؤه بدون وسيطة.
defdynamictitle [ تشغيل | إيقاف ]
قم بتعيين السلوك الافتراضي للنوافذ الجديدة فيما يتعلق بما إذا كان يجب أن تغير الشاشة عنوان النافذة عند رؤية تسلسل هروب مناسب. انظر أيضًا قسم "TITLES (تسمية النوافذ)".
defescape xy
قم بتعيين الأمر الافتراضي للأحرف. هذا يعادل الأمر escape باستثناء أنه مفيد فقط في الجلسات متعددة المستخدمين. في جلسة متعددة المستخدمين، يغير الأمر escape حرف الأمر للمستخدم الذي يستدعيه، بينما يغير الأمر defescape أحرف الأمر الافتراضية للمستخدمين الذين سيتم إضافتهم لاحقًا.
defflow [ تشغيل | إيقاف | تلقائي [ مقاطعة ]]
نفس الأمر flow باستثناء أنه يتم تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو تلقائي. تحديد defflow auto interrupt هو نفسه خيارات سطر الأوامر -fa
و -i.
defgr [ تشغيل | إيقاف ]
نفس الأمر gr باستثناء أنه يتم تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو إيقاف.
defhstatus [حالة]
يتم تعيين سطر الحالة الثابت الذي ستحصل عليه جميع النوافذ الجديدة إلى الحالة. هذا الأمر مفيد لجعل سطر الحالة الخاص بكل نافذة يعرض رقم النافذة أو عنوانها أو ما شابه ذلك. قد يحتوي المتغير status على نفس التوجيهات الموجودة في رسائل النافذة، ولكن حرف التوجيه الخاص بالهروب هو '^E' (ثماني 005) بدلاً من '%'. تم ذلك لمنع تفسير خاطئ لأسطر الحالة الثابتة التي تم إنشاؤها بواسطة البرنامج. إذا تم حذف المعلمة status، فسيتم عرض السلسلة الافتراضية الحالية. افتراضيًا، يكون سطر الحالة الثابت للنوافذ الجديدة فارغًا.
defencoding enc
نفس الأمر encoding، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو الترميز المأخوذ من الطرفية.
deflog [ تشغيل | إيقاف ]
نفس الأمر log، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو إيقاف.
deflogin [ تشغيل | إيقاف ]
نفس الأمر login، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. يتم تهيئته بالقيمة تشغيل عند التوزيع (انظر config.h.in).
defmode mode
يتم تعيين وضع كل طرفية زائفة مخصصة حديثًا إلى mode. Mode هو رقم ثماني. عندما لا يتم إعطاء أمر defmode، يتم استخدام الوضع 0622.
defmonitor [ تشغيل | إيقاف ]
نفس الأمر monitor، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو إيقاف.
defmousetrack [ تشغيل | إيقاف ]
نفس الأمر mousetrack، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو إيقاف.
defnonblock [ تشغيل | إيقاف | عدد_الثواني ]
نفس الأمر nonblock، ولكن مع تغيير الإعداد الافتراضي للعروض. الإعداد الأولي هو إيقاف.
defobuflimit limit
نفس الأمر obuflimit، ولكن مع تغيير الإعداد الافتراضي للعروض الجديدة. الإعداد الأولي هو 256 بايت. لاحظ أنه يمكنك استخدام قدرة الطرفية الخاصة 'OL' إذا كنت تريد الاعتماد على نوع الطرفية.
defscrollback num
نفس الأمر scrollback، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو 100.
defshell command
مرادف للأمر shell .screenrc. انظر هناك.
defsilence [ تشغيل | إيقاف ]
نفس الأمر silence، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو إيقاف.
defslowpaste msec
نفس الأمر slowpaste، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. الإعداد الأولي هو 0 مللي ثانية، مما يعني إيقاف.
defutf8 [ تشغيل | إيقاف ]
نفس الأمر utf8، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. إذا تم تشغيل برنامج screen مع الخيار -U، يكون الإعداد الأولي هو تشغيل، وإلا فهو إيقاف.
defwrap [ تشغيل | إيقاف ]
نفس الأمر wrap، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. في البداية، يكون التفاف الأسطر قيد التشغيل ويمكن تبديله باستخدام الأمر wrap (C-a r) أو عن طريق استخدام "C-a : wrap on|off".
defwritelock [ تشغيل | إيقاف | تلقائي ]
نفس الأمر writelock، ولكن مع تغيير الإعداد الافتراضي للنوافذ الجديدة. في البداية، تكون أقفال الكتابة معطلة.
detach [-h]
فصل جلسة screen (افصلها عن الطرفية وضعها في الخلفية). يعود هذا بك إلى الصدفة حيث قمت باستدعاء screen. يمكن استئناف جلسة screen المفصولة عن طريق استدعاء screen مع الخيار -r (انظر أيضًا قسم خيارات سطر الأوامر). يخبر الخيار -h برنامج screen بإغلاق الاتصال بالطرفية على الفور (تعليق).
dinfo
يعرض ما يعتقده برنامج الشاشة (screen) عن الطرفية الخاصة بك. يكون هذا مفيدًا إذا كنت تريد معرفة سبب عدم عمل بعض الميزات مثل الألوان أو مجموعة الأحرف البديلة.
displays
يعرض قائمة جدولية بجميع الواجهات الأمامية للمستخدم المتصلة حاليًا. يكون هذا مفيدًا بشكل خاص في الجلسات متعددة المستخدمين. يمكن استخدام المفاتيح التالية في قائمة "displays":
k أو C-p أو السهم لأعلى انتقل سطرًا واحدًا للأعلى.
j أو C-n أو السهم لأسفل انتقل سطرًا واحدًا للأسفل.
C-a أو الصفحة الرئيسية انتقل إلى السطر الأول.
C-e أو نهاية انتقل إلى السطر الأخير.
C-u أو C-d انتقل نصف صفحة للأعلى أو للأسفل.
C-b أو C-f انتقل صفحة كاملة للأعلى أو للأسفل.
نقرة الماوس انتقل إلى السطر المحدد. متاح عند تعيين "mousetrack" على "on".
مسافة تحديث القائمة
d افصل هذا العرض.
D افصل هذا العرض بالقوة.
C-g أو إدخال أو Esc اخرج من القائمة.
فيما يلي مثال على الشكل الذي قد تبدو عليه "displays": xterm 80x42 jnweiger@/dev/ttyp4 0(m11) &rWx facit 80x24 mlschroe@/dev/ttyhf nb 11(tcsh) rwx xterm 80x42 jnhollma@/dev/ttyp5 0(m11) &R.x (أ) (ب) (ج) (د) (هـ) (و) (ز) (ح) (ط)
توضح الأسطر التالية:
(أ) نوع الطرفية المعروف لدى برنامج الشاشة (screen) لهذا العرض.
(ب) أبعاد العرض كـ "عرض × ارتفاع".
(ج) اسم المستخدم الذي قام بتسجيل الدخول في العرض.
(د) اسم الجهاز الخاص بالعرض أو الجهاز المتصل.
(هـ) العرض في وضع الحظر أو عدم الحظر. الأوضاع المتاحة هي "nb" و "NB" و "Z<" و "Z>" و "BL".
(و) رقم النافذة.
(ز) اسم/عنوان النافذة.
(ح) ما إذا كانت النافذة مشتركة أم لا.
(ط) أذونات النافذة. تتكون من ثلاثة أحرف.
┌─────────────────────────────────────────────────────────┐
│ مؤشرات أذونات النافذة │
├──────────────────┬──────────────────┬───────────────────┤
│ الحرف الأول │ الحرف الثاني │ الحرف الثالث │
├─────┬────────────┼─────┬────────────┼─────┬─────────────┤
│ - │لا يوجد قراءة │ - │لا يوجد كتابة │ - │لا يوجد تنفيذ │
├─────┼────────────┼─────┼────────────┼─────┼─────────────┤
│ r │قراءة │ w │كتابة │ x │تنفيذ │
├─────┼────────────┼─────┼────────────┼─────┼─────────────┤
│ │ │ W │تملك قفل الكتابة │ │ │
├─────┴────────────┴─────┴────────────┴─────┴─────────────┤
│ مؤشرات الأذونات التي تم إخفاؤها بواسطة قفل كتابة خارجي │
├─────┬────────────┬─────┬────────────┬─────┬─────────────┤
│ R │للقراءة فقط │ . │لا يوجد كتابة │ │ │
└─────┴────────────┴─────┴────────────┴─────┴─────────────┘
يتطلب عرض [displays] حجم منطقة لا يقل عن 10 أحرف عرضًا و 5 أحرف ارتفاعًا حتى يتم عرضه.
digraph [preset[unicode-value]]
يقوم هذا الأمر بمطالبة المستخدم بإدخال تسلسل [digraph]. يتم البحث عن الأحرف الاثنين التاليين اللذين يتم إدخالهما في جدول مدمج، ويتم إدراج الحرف الناتج في تيار الإدخال. على سبيل المثال، إذا أدخل المستخدم "a"، فسيتم إدراج "ä". إذا كان الحرف الأول الذي تم إدخاله هو 0 (صفر)، فسيعامل [screen] الأحرف التالية (حتى ثلاثة) كرقم ثماني. يمكن استخدام الوسيطة الاختيارية [preset] كمدخلات للمستخدم، وبالتالي يمكن للمستخدم إنشاء مفتاح [umlaut]. على سبيل المثال، الأمر "bindkey ^K digraph '"'" يمكّن المستخدم من إنشاء "ä" عن طريق كتابة CTRL-K a. عند تحديد قيمة [unicode-value] غير صفرية، يتم إنشاء [digraph] جديد بالقيمة المحددة. يتم إلغاء تعيين [digraph] إذا تم توفير قيمة صفرية لـ [unicode-value].
dumptermcap
يكتب إدخال [termcap] للطرفية الافتراضية المحسّنة للنافذة النشطة حاليًا إلى الملف [.termcap] في الدليل [$HOME/.screen] الخاص بالمستخدم (أو حيثما كان [screen] يخزن مآخذه. راجع قسم [FILES] أدناه). إدخال [termcap] هذا مطابق للقيمة التي تم تعيينها للمتغير البيئي [$TERMCAP] الذي تم إعداده بواسطة [screen] لكل نافذة. بالنسبة للأنظمة القائمة على [terminfo]، ستحتاج إلى تشغيل محول مثل [captoinfo] ثم تجميع الإدخال باستخدام [tic].
dynamictitle [on | off]
تغيير السلوك للنواتذ فيما يتعلق بما إذا كان [screen] يجب أن يغير عنوان النافذة عند رؤية تسلسل هروب مناسب. راجع أيضًا قسم "TITLES (تسمية النوافذ)".
echo [-n] message
يمكن استخدام الأمر [echo] لإزعاج مستخدمي [screen] بـ "رسالة اليوم". يتم تثبيته عادةً في ملف [/etc/screenrc] عام. يمكن استخدام الخيار [-n] لقمع سطر التغذية. راجع أيضًا [sleep]. يعد [echo] مفيدًا أيضًا للتحقق عبر الإنترنت من المتغيرات البيئية.
encoding enc [enc]
يخبر هذا الأمر [screen] بكيفية تفسير الإدخال/الإخراج. يعين الوسيطة الأولى ترميز النافذة الحالية. يمكن لكل نافذة محاكاة ترميز مختلف. يتم استخدام الوسيطة الثانية الاختيارية لإلغاء ترميز الطرفية المتصلة. لا ينبغي أن تكون هناك حاجة لذلك لأن [screen] يستخدم إعداد [locale] لاكتشاف الترميز. هناك أيضًا طريقة لتحديد ترميز الطرفية بناءً على نوع الطرفية باستخدام إدخال [termcap] [KJ].
الترميزات المدعومة هي eucJP و SJIS و eucKR و eucCN و Big5 و GBK و KOI8-R و KOI8-U و CP1251 و UTF-8 و ISO8859-2 و ISO8859-3 و ISO8859-4 و ISO8859-5 و ISO8859-6 و ISO8859-7 و ISO8859-8 و ISO8859-9 و ISO8859-10 و ISO8859-15 و jis.
انظر أيضًا إلى defencoding، والذي يغير الإعداد الافتراضي لنافذة جديدة.
escape xy
عيّن حرف الأمر إلى x والحرف الذي يولد حرف أمر حرفيًا (عن طريق تشغيل الأمر meta) إلى y (على غرار خيار -e). كل وسيطة عبارة عن حرف واحد أو تسلسل من حرفين بالصيغة ^x (بمعنى C-x) أو شرطة مائلة متبوعة برقم ثماني (تحدد رمز ASCII للحرف) أو شرطة مائلة متبوعة بحرف ثانٍ، مثل \^ أو \. الإعداد الافتراضي هو ^Aa.
eval command1[command2 ...]
يقوم بتحليل وتنفيذ كل وسيطة كأمر منفصل.
exec [[fdpat]newcommand [args ...]]
قم بتشغيل عملية فرعية يونكس (يتم تحديدها بواسطة مسار قابل للتنفيذ newcommand وحججها الاختيارية) في
النافذة الحالية. يتم التحكم في تدفق البيانات بين stdin/stdout/stderr الخاصة بـ newcommand والعملية التي تم تشغيلها في الأصل في النافذة (دعنا نسميها "عملية التطبيق") و screen نفسه (النافذة)
عن طريق نمط واصف الملفات fdpat. هذا النمط هو في الأساس تسلسل من ثلاثة أحرف يمثل stdin و stdout و stderr الخاصة بـ newcommand. نقطة (.) تربط واصف الملفات بـ screen. علامة التعجب (!) تجعل واصف الملفات متصلاً بعملية التطبيق. النقطتان (:) تجمّعان كلاهما. ستذهب مدخلات المستخدم إلى newcommand ما لم تتلق newcommand
مخرجات عملية التطبيق (الحرف الأول من fdpats هو !' أو:') أو تتم إضافة رمز الأنبوب
(|) كحرف رابع في نهاية fdpat.
يؤدي استدعاء `exec' بدون وسيطات إلى عرض اسم وحجج العملية الفرعية التي تعمل حاليًا في هذه النافذة. يمكن تشغيل عملية فرعية واحدة فقط في كل مرة في كل نافذة.
عند تشغيل عملية فرعية، سيؤثر الأمر `kill' عليها بدلاً من عملية النافذة.
راجع ملف postscript `doc/fdpat.ps' للحصول على رسم توضيحي مربك لجميع مجموعات 21 الممكنة. يعرض كل رسم الأرقام 2 و 1 و 0 التي تمثل واصفات الملفات الثلاثة لـ newcommand. الصندوق الذي يحمل علامة `W' هو pty المعتاد الذي توجد عملية التطبيق على جانب العبد منه. الصندوق الذي يحمل علامة `P' هو pty الثانوي الذي يوجد الآن فيه screen على جانب السيد منه.
الاختصارات: يمكن حذف المسافات بين الكلمة \`exec' و fdpat والأمر.
يمكن حذف النقاط اللاحقة و fdpat المكون من نقاط فقط. رمز الأنبوب البسيط \`|\' مرادف للنمط \`!..|\'; يمكن حذف الكلمة exec هنا ويمكن دائمًا استبدالها بـ \`!\'.
أمثلة:
exec ... /bin/sh
exec /bin/sh
!/bin/sh
ينشئ غلافًا آخر في نفس النافذة، بينما يظل الغلاف الأصلي قيد التشغيل. يتم عرض مخرجات كلا الغلافين ويتم إرسال إدخال المستخدم إلى غلاف /bin/sh الجديد.
exec !.. stty 19200
exec ! stty 19200
!!stty 19200
يضبط سرعة tty للنافذة. إذا كان أمر stty الخاص بك يعمل على stdout، فأضف `!' أخرى.
exec !..| less
|less
يضيف هذا الأمر أداة عرض الصفحات إلى مخرجات النافذة. يلزم وجود الحرف الخاص | لمنح المستخدم التحكم في أداة عرض الصفحات على الرغم من أنها تحصل على مدخلاتها من عملية النافذة. هذا يعمل، لأن أداة less تستمع على stderr (وهو سلوك لا تتوقعه أداة screen بدونه) عندما لا يكون stdin عبارة عن tty. إصدارات less الأحدث من 177 تفشل بشكل فظيع هنا؛ لا تزال أداة pg القديمة تعمل.
!:sed -n s/.*Error.*/\007/p
يرسل مخرجات النافذة إلى كل من المستخدم وأمر sed. يقوم أمر sed بإدراج حرف جرس إضافي (ثماني 007) في مخرجات النافذة التي يراها screen. سيؤدي هذا إلى ظهور رسائل "جرس في النافذة x" كلما ظهرت السلسلة "Error" في النافذة.
fit
يغير حجم النافذة ليطابق حجم المنطقة الحالية. هذا الأمر ضروري لأن أداة screen لا تقوم تلقائيًا بتكييف حجم النافذة إذا تم عرض النافذة أكثر من مرة.
flow [ on | off | auto]
يضبط وضع التحكم في التدفق لهذه النافذة. بدون معلمات، يقوم بتدوير إعداد التحكم في التدفق للنافذة الحالية من "تلقائي" إلى "تشغيل" إلى "إيقاف التشغيل". راجع المناقشة حول "التحكم في التدفق" لاحقًا في هذا المستند للحصول على التفاصيل الكاملة، ولاحظ أن هذا قد يتغير في الإصدارات المستقبلية. القيمة الافتراضية يتم تعيينها بواسطة defflow.
focus [ next | prev | up | down | left | right | top | bottom ]
ينقل التركيز إلى المنطقة التالية. يتم ذلك بطريقة دورية بحيث يتم تحديد المنطقة العلوية اليسرى بعد المنطقة السفلية اليمنى. إذا لم يتم إعطاء أي خيار، فسيتم افتراضيًا إلى next. يتم تحديد المنطقة التالية المراد تحديدها بناءً على كيفية ترتيب المناطق. عادةً، سيتم تحديد المنطقة التالية في نفس الطبقة. ومع ذلك، إذا كانت المنطقة التالية تحتوي على طبقة واحدة أو أكثر، فسيتم تحديد المنطقة الأولى في أعلى طبقة أولاً. إذا كنت في المنطقة الأخيرة من الطبقة الحالية، فسيؤدي next إلى نقل التركيز إلى المنطقة التالية في الطبقة السفلية (إذا كانت هناك طبقة سفلية). Prev يدور في الاتجاه المعاكس. راجع الأمر split للحصول على مزيد من المعلومات حول الطبقات.
بقية الخيارات (up و down و left و right و top و bottom) أقل تأثرًا بالطبقات. سينقل الخيار up التركيز إلى الأعلى إلى المنطقة التي تلامس الزاوية العلوية اليسرى من المنطقة الحالية. سينقل Down التركيز إلى الأسفل إلى المنطقة التي تلامس الزاوية السفلية اليسرى من المنطقة الحالية. سينقل الخيار left التركيز إلى اليسار إلى المنطقة التي تلامس الزاوية العلوية اليسرى من المنطقة الحالية، بينما سينقل right التركيز إلى اليمين إلى المنطقة التي تلامس الزاوية العلوية اليمنى من المنطقة الحالية. سيؤدي تحريك التركيز إلى اليسار من منطقة أقصى اليسار أو تحريكه إلى اليمين من منطقة أقصى اليمين إلى عدم حدوث أي إجراء.
سيؤدي الخيار top إلى نقل التركيز إلى المنطقة الأولى في الزاوية العلوية اليسرى من الشاشة، وسيؤدي bottom إلى الانتقال إلى المنطقة الموجودة في الزاوية السفلية اليمنى من الشاشة. سيؤدي تحريك التركيز لأعلى من المنطقة العلوية أو تحريكه لأسفل من المنطقة السفلية إلى عدم حدوث أي شيء.
تعتبر الروابط التالية مفيدة (h، و j، و k، و l كما في vi): bind h focus left bind j focus down bind k focus up bind l focus right bind t focus top bind b focus bottom لاحظ أن k مرتبط تقليديًا بأمر "kill".
focusminsize [ (width|max|_) (height|max|_) ]
يجبر هذا أي منطقة يتم تحديدها حاليًا على تغيير حجمها تلقائيًا بحيث يكون الحد الأدنى للعرض والارتفاع معينًا. سيتم تغيير حجم جميع المناطق المحيطة الأخرى لاستيعاب ذلك. يتبع هذا القيد في كل مرة يتم فيها استخدام أمر "focus". يمكن استخدام أمر "resize" لزيادة أي من أبعاد المنطقة، ولكن ليس أقل مما هو معين في "focusminsize". الشرطة السفلية _ هي مرادف لـ "max". سيؤدي تعيين عرض وارتفاع بقيمة 0 0 (صفر صفر) إلى إلغاء أي قيود والسماح بتغيير الحجم يدويًا. بدون أي معلمات، يتم عرض الحد الأدنى للعرض والارتفاع.
gr [on | off]
قم بتشغيل أو إيقاف تشغيل تبديل مجموعة الأحرف GR. في كل مرة ترى فيها شاشة حرف إدخال مع تعيين البت الثامن، ستستخدم مجموعة الأحرف المخزنة في خانة GR وتطبع الحرف مع إزالة البت الثامن. الإعداد الافتراضي (انظر أيضًا defgr) هو عدم معالجة تبديل GR، وإلا فلن تعمل مجموعة أحرف ISO88591.
group [grouptitle]
قم بتغيير أو عرض المجموعة التي تنتمي إليها النافذة الحالية. يمكن نقل النوافذ بين مجموعات مختلفة عن طريق تحديد اسم المجموعة الوجهة. بدون تحديد مجموعة، يتم عرض عنوان المجموعة الحالية.
hardcopy [-h] [file]
يكتب الصورة المعروضة حاليًا في الملف المحدد، أو، إذا لم يتم تحديد اسم ملف، إلى hardcopy.n في الدليل الافتراضي، حيث n هو رقم النافذة الحالية. يقوم هذا إما بإلحاق الملف أو بالكتابة فوقه إذا كان موجودًا. انظر أدناه. إذا تم تحديد الخيار -h، فسيتم أيضًا تفريغ محتويات مخزن التمرير.
hardcopy_append [on | off]
إذا تم تعيينه على "on"، فستقوم شاشة بإلحاق الملفات "hardcopy.n" التي تم إنشاؤها بواسطة الأمر C-a h، وإلا فسيتم الكتابة فوق هذه الملفات في كل مرة. الإعداد الافتراضي هو "off".
hardcopydir directory
يحدد دليلًا سيتم فيه وضع ملفات hardcopy. إذا لم يتم تعيينه، فسيتم تفريغ عمليات النسخ الصلب في الدليل الحالي لشاشة.
hardstatus [on | off]
hardstatus [always] firstline | lastline | message | ignore [string]
hardstatus string [string]
يقوم هذا الأمر بتكوين استخدام ومحاكاة سطر الحالة الخاص بالطرفية. يقوم النموذج الأول بتبديل ما إذا كانت شاشة ستستخدم سطر الحالة للأجهزة لعرض الرسائل. إذا تم تعيين العلامة على "off"، فسيتم وضع هذه الرسائل فوقها في وضع فيديو معكوس في سطر العرض. الإعداد الافتراضي هو "on".
يخبر الشكل الثاني برنامج screen بما يجب فعله إذا كان الطرفية لا يحتوي على سطر حالة ثابت (أي، إذا لم يتم تعيين إمكانيات termcap/terminfo وهي "hs" و "ts" و "fs" و "ds"). عند استخدام firstline/lastline، سيحجز برنامج screen السطر الأول/الأخير من الشاشة لسطر الحالة الثابت. يستخدم message آلية المراسلة الخاصة بـ screen ويتجاهل ignore إظهار سطر الحالة الثابت. إذا قمت بإضافة الكلمة always في بداية النوع (مثل alwayslastline)، سيستخدم screen هذا النوع حتى لو كانت الطرفية تدعم سطر حالة ثابت.
يحدد الشكل الثالث محتويات سطر الحالة الثابت. يتم استخدام %h كسلسلة افتراضية، أي يتم عرض سطر الحالة الثابت المخزن للنافذة الحالية (والذي يمكن تعيينه عبر ESC]0;<string>^G أو ESC_<string>ESC\). يمكنك تخصيص هذا ليصبح أي سلسلة تريدها، بما في ذلك الرموز الخاصة المذكورة في قسم "STRING ESCAPES". إذا لم تقم بتضمين وسيطة السلسلة، فسيتم عرض السلسلة الحالية.
يمكنك دمج الشكلين الثاني والثالث عن طريق توفير السلسلة كوسيطة إضافية.
height [-w|-d] [lines [cols]]
يضبط ارتفاع الشاشة على عدد محدد من الأسطر. عند عدم توفير أي وسيطة، يتم التبديل بين 24 و 42 سطرًا. يمكنك أيضًا تحديد عرض إذا كنت تريد تغيير كلا القيمتين.
يخبر الخيار -w برنامج screen أن يترك حجم الشاشة دون تغيير ويضبط حجم النافذة فقط، بينما يفعل الخيار -d العكس.
help[class]
ليس مساعدًا عبر الإنترنت، ولكنه يعرض شاشة مساعدة تعرض جميع ربط المفاتيح. تعرض الصفحات الأولى جميع الأوامر الداخلية متبوعة بربطها الحالي. ستعرض الصفحات اللاحقة الأوامر المخصصة، أمر واحد لكل مفتاح. اضغط على مفتاح المسافة عند الانتهاء من قراءة كل صفحة، أو اضغط على Return للخروج مبكرًا. يتم تجاهل جميع الأحرف الأخرى. إذا تم توفير الخيار -c، فسيتم عرض جميع الأوامر المرتبطة بالفئة المحددة. انظر أيضًا قسم "DEFAULT KEY BINDINGS".
history
عادةً ما يعمل المستخدمون مع shell يسمح بالوصول السهل إلى الأوامر السابقة. على سبيل المثال، لدى csh الأمر !! لتكرار آخر أمر تم تنفيذه. يسمح برنامج screen لك بالحصول على طريقة بدائية لاستعادة الأمر الذي بدأ ...: ما عليك سوى كتابة الحرف الأول من هذا الأمر، ثم اضغط على C-a {' وسيحاول برنامج screen العثور على سطر سابق يطابق حرف المطالبة الموجود على يسار المؤشر. يتم لصق هذا السطر في قائمة إدخال هذه النافذة. وبالتالي، لديك سجل أوامر بسيط (يتكون من النافذة المرئية وذاكرة التخزين المؤقت للتمرير).
hstatus status
يغير سطر الحالة الثابتة للنافذة إلى السلسلة status.
idle [timeout[cmd-args]]
يضبط أمرًا يتم تنفيذه بعد الوصول إلى عدد الثواني المحدد من الخمول. عادةً ما يكون هذا الأمر هو أمر إطفاء الشاشة لإنشاء أداة إطفاء شاشة، ولكن يمكن أن يكون أي أمر من أوامر screen. إذا لم يتم تحديد أي أمر، فسيتم تعيين المهلة الزمنية فقط. يؤدي تعيين مهلة زمنية بقيمة صفر (أو استخدام المهلة الخاصة "off") إلى تعطيل الموقت. إذا لم يتم توفير أي وسيطات، فسيتم عرض الإعدادات الحالية.
تجاهل_حساسية_الحروف [ تشغيل | إيقاف ]
أخبر برنامج الشاشة بتجاهل حالة الأحرف في عمليات البحث. الوضع الافتراضي هو `إيقاف التشغيل'. بدون أي خيارات، يتم تبديل حالة تجاهل_حساسية_الحروف.
معلومات
يستخدم سطر الرسائل لعرض بعض المعلومات حول النافذة الحالية: موضع المؤشر في شكل (عمود، صف) بدءًا من (1, 1)، وعرض الطرفية وارتفاعها بالإضافة إلى حجم مخزن التمرير في عدد الأسطر، مثل (80, 24) + 50، ويتم عرض الحالة الحالية للتحكم في تدفق XON / XOFF على النحو التالي (انظر أيضًا قسم التحكم في التدفق):
┌──────────┬──────────────────────────────────────────────────────────┐
│ +تدفق │ التحكم التلقائي في التدفق، قيد التشغيل حاليًا. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -تدفق │ التحكم التلقائي في التدفق، معطل حاليًا. │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(+)تدفق │ تم تمكين التحكم في التدفق. يتفق مع التحكم التلقائي. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(+)تدفق │ تم تعطيل التحكم في التدفق. لا يتفق مع التحكم التلقائي. │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(-)تدفق │ تم تمكين التحكم في التدفق. لا يتفق مع التحكم التلقائي. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(-)تدفق │ تم تعطيل التحكم في التدفق. يتفق مع التحكم التلقائي. │
└──────────┴──────────────────────────────────────────────────────────┘
يتم أيضًا عرض إعداد التفاف السطر الحالي (`+wrap' يشير إلى تمكين، `-wrap' يشير إلى تعطيل). يتم عرض العلامات ins، و org، و app، و log، أو mon أو nored عندما تكون النافذة في وضع الإدخال أو وضع الأصل أو وضع لوحة المفاتيح الخاصة بالتطبيق أو لديها تسجيل الإخراج أو مراقبة النشاط أو إعادة رسم جزئي قيد التشغيل.
يتم عرض مجموعة الأحرف النشطة حاليًا (G0 أو G1 أو G2 أو G3) وفي أقواس مربعة مجموعات الأحرف الطرفية التي تم تعيينها حاليًا على أنها G0 إلى G3. إذا كانت النافذة في وضع UTF-8، يتم عرض السلسلة UTF-8 بدلاً من ذلك.
تُعرض أوضاع إضافية بناءً على نوع النافذة في نهاية سطر الحالة (انظر أيضًا الفصل "أنواع النوافذ").
إذا كانت آلة الحالة الخاصة بمحاكي الطرفية في حالة غير افتراضية، يبدأ سطر المعلومات بسلسلة تحدد الحالة الحالية.
للحصول على معلومات النظام، استخدم الأمر time.
ins_reg [key]
لم يعد موجودًا، استخدم paste بدلاً من ذلك.
kill
إغلاق النافذة الحالية.
إذا كان هناك أمر exec قيد التشغيل، فسيتم إغلاقه. وإلا، فإن العملية (الصدفة) التي تعمل في النافذة تتلقى إشارة "HANGUP"، وتتم إزالة هيكل النافذة، ويقوم screen (شاشتك) بالتبديل إلى نافذة أخرى. عند تدمير النافذة الأخيرة، يخرج screen. بعد الإغلاق، ينتقل screen إلى النافذة التي تم عرضها مسبقًا.
ملاحظة: يجب أن يتذكر مستخدمو Emacs هذا الأمر عند إغلاق سطر. يوصى بعدم استخدام `C-a` كمفتاح هروب `screen` أو إعادة تعيين الأمر `kill` إلى `C-a K`.
lastmsg
إعادة عرض المحتوى الأخير لسطر الرسائل/الحالة. مفيد إذا كنت تكتب عندما تظهر رسالة، لأن الرسالة تختفي عند الضغط على مفتاح (إلا إذا كان لديك سطر حالة للأجهزة في جهازك). راجع الأوامر msgwait وmsgminwait للتحكم الدقيق.
layout new [title]
إنشاء تخطيط جديد. سينتقل screen إلى منطقة كاملة وسيتم التبديل إلى النافذة الفارغة. من هنا، يمكنك إنشاء المناطق والنوافذ التي تريد عرضها كما تريد. سيتم ترقيم التخطيط الجديد بأصغر عدد صحيح متاح، بدءًا من الصفر. يمكنك اختياريًا إعطاء عنوان لتخطيطك الجديد. وإلا، فسيكون له عنوان افتراضي هو "layout". يمكنك دائمًا تغيير العنوان لاحقًا باستخدام الأمر layout title.
layout remove [n|title]
إزالة، أو بمعنى آخر، حذف التخطيط المحدد. يمكن تحديد الرقم أو العنوان. بدون أي من التحديدين، سيقوم screen بإزالة التخطيط الحالي.
إن إزالة التخطيط لا تؤثر على النوافذ أو المناطق التي قمت بتعيينها.
layout next
التبديل إلى التخطيط التالي المتاح.
layout prev
التبديل إلى التخطيط السابق المتاح.
layout select [n|title]
تحديد التخطيط المطلوب. يمكن تحديد الرقم أو العنوان. بدون أي من التحديدين، سيقوم screen بالمطالبة ويسألك عن التخطيط المطلوب. لرؤية التخطيطات المتاحة، استخدم الأمر layout show.
layout show
عرض أرقام وعناوين التخطيطات المتاحة على سطر الرسائل. يتم وضع علامة على التخطيط الحالي.
layout title [title]
تغيير أو عرض عنوان التخطيط الحالي. سيتم استخدام سلسلة معطاة لتسمية التخطيط. بدون أي خيارات، يتم عرض العنوان والرقم الحاليين على سطر الرسائل.
layout number [n]
تغيير أو عرض رقم التخطيط الحالي. سيتم استخدام عدد صحيح لإعطاء رقم للتخطيط. بدون أي خيارات، يتم عرض الرقم والعنوان الحاليين على سطر الرسائل.
layout attach [title|:last]
يغيّر أو يعرض التخطيط الذي سيتم إعادة ربطه به. القيمة الافتراضية هي :last، مما يخبر برنامج screen بإعادة الربط بالتخطيط الأخير الذي تم استخدامه قبل الانفصال. عن طريق توفير عنوان، يمكنك توجيه برنامج screen لإعادة الربط بتخطيط معين بغض النظر عن التخطيط الذي تم استخدامه في وقت الانفصال. بدون أي خيارات، سيتم عرض التخطيط الذي سيتم إعادة ربطه به في سطر الرسائل.
layout save [n|title]
يحفظ الترتيب الحالي للمناطق. عند استخدامه، سيتذكر برنامج screen ترتيب المناطق المقسمة عموديًا وأفقيًا. يتم استعادة هذا الترتيب عند إعادة ربط جلسة screen أو التبديل من تخطيط مختلف. إذا انتهت الجلسة أو توقف برنامج screen، فسيتم فقد ترتيب التخطيطات. يجب أن يساعد أمر layout dump في هذه الحالة. إذا تم توفير رقم أو عنوان، فسيتذكر برنامج screen ترتيب هذا التخطيط المحدد. بدون أي خيارات، سيتذكر برنامج screen التخطيط الحالي.
يمكن حفظ المناطق تلقائيًا باستخدام أمر layout autosave.
layout autosave [on | off]
يغيّر أو يعرض حالة الحفظ التلقائي للتخطيطات. القيمة الافتراضية هي on، مما يعني أنه عند فصل برنامج screen أو التبديل إلى تخطيط مختلف، سيتم تذكر ترتيب المناطق والنوافذ في وقت التغيير واستعادته عند العودة. إذا تم تعيين autosave على off، فسيتم استعادة هذا الترتيب فقط إما إلى آخر حفظ يدوي، باستخدام أمر layout save، أو إلى وقت إنشاء التخطيط، إلى منطقة واحدة تحتوي على نافذة واحدة. بدون تحديد on أو off، سيتم عرض الحالة الحالية في سطر الرسائل.
layout dump [filename]
يكتب إلى ملف ترتيب التقسيمات التي تم إجراؤها في التخطيط الحالي. هذا مفيد لإعادة إنشاء ترتيب المناطق المستخدمة في التخطيط الحالي. يتم تسجيل التخطيط الحالي فقط. على الرغم من تسجيل ترتيب المناطق، إلا أن أحجام هذه المناطق والنوافذ التي تتوافق معها لا يتم تسجيلها. إذا لم يتم تحديد اسم ملف، فإن القيمة الافتراضية هي layout-dump، ويتم حفظه في الدليل الذي تم فيه بدء برنامج screen. إذا كان الملف موجودًا بالفعل، فسيقوم layout dump بإلحاقه. على سبيل المثال:
C-a : layout dump /home/user/.screenrc
سيحفظ أو يلحق التخطيط بملف `.screenrc` الخاص بالمستخدم.
license
يعرض صفحة إخلاء المسؤولية. يتم ذلك في كل مرة يبدأ فيها برنامج screen بدون خيارات، وهو ما ينبغي أن يحدث في أغلب الأحيان. انظر أيضًا الأمر startup_message.
lockscreen
يقفل هذا الشاشة. يستدعي برنامج قفل الشاشة. لا يقبل برنامج screen أي مفاتيح أوامر حتى ينتهي هذا البرنامج. في هذه الأثناء، قد تستمر العمليات في النوافذ، حيث تكون النوافذ في حالة "منفصلة". يمكن تغيير برنامج قفل الشاشة من خلال متغير البيئة $LOCKPRG (والذي يجب تعيينه في الصدفة التي يتم تشغيل برنامج screen منها) ويتم تنفيذه بمعرف المستخدم (UID) ومعرف المجموعة (GID) الخاص بالمستخدم.
تحذير: عندما تترك أصدافًا أخرى غير مقفلة وليس لديك كلمة مرور معينة على برنامج `screen`، فإن القفل يصبح عديم الفائدة: يمكن لأي شخص إعادة الاتصال من صدفة غير مقفلة. يجب أن يُعتبر هذا الميزة بمثابة "قفل الطرفية".
log [ تشغيل | إيقاف ]
ابدأ/أوقف كتابة مخرجات النافذة الحالية إلى ملف screenlog.n في الدليل الافتراضي للنافذة، حيث n هو رقم النافذة الحالية. يمكن تغيير اسم هذا الملف باستخدام الأمر `logfile`. إذا لم يتم توفير أي معلمة، يتم تبديل حالة التسجيل. يتم إلحاق سجل الجلسة بالمحتويات السابقة للملف إذا كان موجودًا بالفعل. لا يتم تضمين المحتويات الحالية ومحتويات سجل التمرير في سجل الجلسة. الافتراضي هو `إيقاف`.
logfile اسم_الملف
logfile flush ثواني
يحدد اسم الملفات التي سيحصل عليها ملفات السجل. الافتراضي هو screenlog.%n. يغير النموذج الثاني عدد الثواني التي سينتظرها برنامج الشاشة قبل تفريغ ذاكرة التخزين المؤقت لملف السجل إلى نظام الملفات. القيمة الافتراضية هي 10 ثوانٍ.
login [ تشغيل | إيقاف ]
يضيف أو يزيل الإدخال في قاعدة بيانات ملف utmp للنافذة الحالية. هذا يتحكم فيما إذا كانت النافذة "مسجلة الدخول". عندما لا يتم توفير أي معلمة، يتم تبديل حالة تسجيل الدخول للنافذة. بالإضافة إلى هذا التبديل، من المفيد أن يكون لديك أمر "تسجيل الدخول" وأمر "تسجيل الخروج". على سبيل المثال، `bind I login on` و `bind O login off` سيعينان هاتين المفاتيح لتكونا C-a I و C-a O. يجب أن يكون الإعداد الافتراضي (في config.h.in) هو التشغيل لشاشة تعمل تحت suid-root. استخدم الأمر `deflogin` لتغيير حالة تسجيل الدخول الافتراضية للوافذ الجديدة. كلا الأمرين موجودان فقط عندما يتم تجميع الشاشة مع دعم utmp.
logtstamp [تشغيل|إيقاف]
logtstamp بعد [ثواني]
logtstamp سلسلة
[سلسلة]
يتحكم هذا الأمر في آلية الطابع الزمني لملف السجل في برنامج الشاشة. إذا تم تشغيل الطوابع الزمنية، فسيضيف برنامج الشاشة سلسلة تحتوي على الوقت الحالي إلى ملف السجل بعد دقيقتين من الخمول. عندما يستمر الإخراج وبعد مرور دقيقتين أخريين، تتم إضافة طابع زمني ثانٍ لتوثيق إعادة تشغيل الإخراج. يمكنك تغيير هذا المهلة باستخدام النموذج الثاني من الأمر. يتم استخدام النموذج الثالث لتخصيص سلسلة الطابع الزمني (`-- %n:%t -- طابع زمني -%M/%d/%y %c:%s --\n` افتراضيًا).
mapdefault
أخبر برنامج الشاشة أن الحرف الإدخال التالي يجب البحث عنه فقط في جدول ربط المفاتيح الافتراضي. انظر أيضًا bindkey.
mapnotnext
مثل mapdefault، ولكن لا تبحث حتى في جدول ربط المفاتيح الافتراضي.
maptimeout [مهلة]
اضبط مؤقت اكتشاف تسلسل الإدخال ليكون بمهلة مقدارها مهلة بالمللي ثانية. القيمة الافتراضية للمهلة هي 300 مللي ثانية. يعرض الأمر maptimeout بدون وسيطات الإعداد الحالي. انظر أيضًا bindkey.
markkeys سلسلة
هذه طريقة لتغيير خريطة المفاتيح المستخدمة لوضع النسخ / التاريخ. تتكون السلسلة من أزواج `حرف_قديم=حرف_جديد` تفصل بينها `:`. مثال: السلسلة `B=^B:F=^F` ستغير مفاتيح `C-b` و `C-f` إلى الربط بنمط vi (مرر للأعلى / لأسفل، املأ الصفحة). هذا هو الربط الافتراضي للمفاتيح `B` و `F`. الأمر `markkeys h=^B:l=^F:$=^E` سيعين الوضع لربط بنمط emacs. إذا كان جهازك الطرفي يرسل أحرفًا تتسبب في مقاطعة وضع النسخ، فقد يساعد هذا الأمر عن طريق ربط هذه الأحرف بحيث لا تفعل شيئًا. الحرف الذي لا يقوم بأي شيء هو `@` ويستخدم على النحو التالي: `markkeys @=L=H` إذا كنت لا تريد استخدام الأوامر `H` أو `L` بعد الآن. كما هو موضح في هذا المثال، يمكن تعيين مفاتيح متعددة لدالة واحدة في بيان واحد.
maxwin num
يحدد الحد الأقصى لعدد النوافذ التي سينشئها الشاشة. لا يؤثر على النوافذ الموجودة بالفعل.
يمكن زيادة هذا العدد فقط عندما لا توجد نوافذ موجودة.
meta
أدخل حرف الأمر (C-a) في دفق الإدخال للنافذة الحالية.
monitor [ on | off ]
يقوم بتبديل مراقبة نشاط النوافذ. عند تشغيل المراقبة، وعندما يتم تبديل نافذة متأثرة إلى الخلفية، ستتلقى رسالة إشعار النشاط في شريط الحالة عند أول ظهور للمخرجات، وسيتم أيضًا وضع علامة على النافذة بعلامة '@' في عرض حالة النافذة. تكون المراقبة في البداية معطلة لجميع النوافذ.
mousetrack [ on | off ]
يحدد ما إذا كانت الشاشة سترقب نقرات الماوس. عند تمكين هذا الأمر، يمكن تحديد المناطق التي تم تقسيمها بطرق مختلفة عن طريق توجيه الماوس إليها والنقر بزر الماوس الأيسر. بدون تحديد تشغيل أو إيقاف، يتم عرض الحالة الحالية. الحالة الافتراضية تحددها الأمر defmousetrack.
msgminwait sec
يحدد الوقت الذي تتأخره فيه الشاشة لعرض رسالة جديدة عندما يتم عرض رسالة حالية. الافتراضي هو 1 ثانية.
msgwait sec
يحدد الوقت الذي يتم فيه عرض الرسالة إذا لم يتم إزعاج الشاشة بأي نشاط آخر. الافتراضي هو 5 ثوانٍ.
multiuser [ on | off ]
التبديل بين الوضع الأحادي والوضع متعدد المستخدمين. عملية الشاشة القياسية هي في الوضع الأحادي. في الوضع متعدد المستخدمين، يمكن استخدام الأوامر `acladd` و `aclchg` و `aclgrp` و `acldel` لتمكين (أو تعطيل) وصول المستخدمين الآخرين إلى جلسة الشاشة هذه.
nethack [ on | off ]
يغير نوع الرسائل التي تستخدمها الشاشة. إذا كنت على دراية بلعبة nethack، فقد تستمتع بالرسائل بنمط nethack والتي غالبًا ما تطمس الحقائق قليلًا، ولكنها أكثر متعة في القراءة. على أي حال، غالبًا ما تكون الرسائل القياسية غير واضحة أيضًا.
هذا الخيار متاح فقط إذا تم تجميع الشاشة مع تحديد العلامة NETHACK. يتم تحديد الإعداد الافتراضي بعد ذلك من خلال وجود متغير البيئة `$NETHACKOPTIONS` والملف `~/.nethackrc` - إذا كان أحدهما موجودًا، فسيكون الافتراضي هو التشغيل.
next
التبديل إلى النافذة التالية. يمكن استخدام هذا الأمر بشكل متكرر للتنقل عبر قائمة النوافذ.
nonblock [ on | off | numsecs ]
يخبر الشاشة بكيفية التعامل مع واجهات المستخدم (الشاشات) التي توقفت عن قبول الإخراج. يمكن أن يحدث هذا إذا ضغط المستخدم على ^S أو إذا تم قطع اتصال TCP/modem ولكن لم يتم استلام أي إشارة قطع. إذا كان nonblock معطلاً (وهذا هو الوضع الافتراضي)، فستنتظر الشاشة حتى تبدأ الشاشة في قبول الإخراج مرة أخرى.
إذا كان nonblock قيد التشغيل، فستنتظر الشاشة حتى يتم الوصول إلى المهلة (يعامل التشغيل على أنه 1 ثانية). إذا كانت الشاشة لا تزال لا تستقبل الأحرف، فستعتبر الشاشة محظورة وستتوقف عن إرسال الأحرف إليها. إذا بدأت في قبول الأحرف في أي وقت، فستقوم الشاشة بإلغاء حظر الشاشة وإعادة عرض محتويات النافذة المحدثة.
number [[+|-]n]
يغيّر رقم النافذة الحالية. إذا كان الرقم n المعطى مُستخدمًا بالفعل بواسطة نافذة أخرى، فستتبادل كلتا النافذتين أرقامهما. إذا لم يتم تحديد أي وسيط، فسيتم عرض رقم النافذة (والعنوان) الحالي. سيؤدي استخدام + أو - إلى تغيير رقم النافذة بالمقدار النسبي المحدد.
obuflimit [limit]
إذا كان مخزن الإخراج يحتوي على عدد بايتات أكبر من الحد المحدد، فلن يتم قراءة المزيد من البيانات من النوافذ. القيمة الافتراضية هي 256. إذا كان لديك شاشة سريعة (مثل xterm)، فيمكنك تعيينها إلى قيمة أعلى. إذا لم يتم تحديد أي وسيط، فسيتم عرض الإعداد الحالي.
only
اقتل جميع المناطق باستثناء المنطقة الحالية.
other
التبديل إلى النافذة التي تم عرضها سابقًا. إذا لم تعد هذه النافذة موجودة، فإن الأمر other له نفس تأثير الأمر next.
partial [ on | off ]
يحدد ما إذا كان يجب تحديث العرض (كما هو الحال مع redisplay) بعد التبديل إلى النافذة الحالية. يؤثر هذا الأمر فقط على النافذة الحالية. للتأثير الفوري على جميع النوافذ، استخدم الأمر allpartial. الافتراضي هو off، بالطبع. هذا الافتراضي ثابت، حيث لا يوجد حاليًا أمر defpartial.
password [crypted_pw]
قم بتوفير كلمة مرور مشفرة في ملف .screenrc، وسيطالب screen بها كلما حاول شخص ما استئناف جلسة منفصلة. هذا مفيد إذا كان لديك برامج ذات امتيازات تعمل تحت screen وتريد حماية جلستك من محاولات إعادة الاتصال من قبل مستخدم آخر ينتحل صفة معرف المستخدم الخاص بك (أي أي مستخدم لديه امتيازات فائقة). إذا لم يتم تحديد كلمة مرور مشفرة، فسيطلب screen مرتين إدخال كلمة مرور ويضع تشفيرها في مخزن اللصق. الافتراضي هو none، مما يعطل التحقق من كلمة المرور.
paste [registers [dest_reg]]
اكتب (المحتويات المتسلسلة) للسجلات المحددة إلى قائمة stdin للنافذة الحالية. يتم التعامل مع السجل . على أنه مخزن اللصق. إذا لم يتم إعطاء أي معلمة، فسيتم مطالبة المستخدم بتحديد سجل واحد للصقه. يمكن ملء مخزن اللصق بالأوامر copy و history و readbuf. يمكن ملء السجلات الأخرى بالأوامر register و readreg و paste. إذا تم استدعاء paste بحجة ثانية، فسيتم لصق محتويات السجلات المحددة في السجل الوجهة المسمى بدلاً من النافذة. إذا تم استخدام . كحجة ثانية، فسيكون مخزن اللصق هو الوجهة. لاحظ أن paste يستخدم مجموعة متنوعة من الموارد: كلما تم تحديد وسيطة ثانية، فلا توجد حاجة إلى نافذة حالية. عندما لا تحتوي مواصفات المصدر إلا على السجلات (وليس مخزن اللصق)، فلا توجد حاجة إلى شاشة (طرفية متصلة)، حيث تكون السجلات موردًا عالميًا. يوجد مخزن اللصق مرة واحدة لكل مستخدم.
pastefont [ تشغيل | إيقاف ]
يخبر برنامج [screen] بتضمين معلومات الخط في مخزن اللصق. الافتراضي هو عدم القيام بذلك. هذا الأمر مفيد بشكل خاص للخطوط متعددة الأحرف مثل كانجي.
pow_break
أعد فتح سطر محطة النافذة وأرسل شرط توقف. انظر `break'.
pow_detach
فصل الطاقة. وهو مشابه إلى حد كبير لـ detach، ولكنه يرسل أيضًا إشارة HANGUP إلى العملية الأصلية لـ [screen]. تحذير: سيؤدي هذا إلى تسجيل الخروج عندما تم تشغيل [screen] من shell تسجيل الدخول الخاص بك.
pow_detach_msg [رسالة]
الرسالة المحددة هنا هي المخرجات عند إجراء "فصل الطاقة". يمكن استخدامه كبديل لرسالة تسجيل الخروج أو لإعادة تعيين معدل الباود، إلخ. بدون معلمة، يتم عرض الرسالة الحالية.
prev
قم بالتبديل إلى النافذة ذات الرقم الأدنى التالي. يمكن استخدام هذا الأمر بشكل متكرر للتنقل خلال قائمة النوافذ.
printcmd [أمر]
إذا لم يكن [cmd] سلسلة فارغة، فلن يستخدم [screen] إمكانيات المحطة po/pf إذا اكتشف تسلسل طباعة ANSI ESC [ 5 i، ولكنه يوجه الإخراج إلى [cmd]. يجب أن يكون هذا عادةً أمرًا مثل lpr أو printcmd، بدون أمر، يعرض الإعداد الحالي. تسلسل ANSI ESC [ 4 i ينهي الطباعة ويغلق الأنبوب.
تحذير: كن حذرًا مع هذا الأمر! إذا كان لدى مستخدمين آخرين حق الوصول للكتابة إلى جهازك الطرفي،
فسيكونون قادرين على تشغيل أوامر الطباعة.
process [مفتاح]
ضع محتويات السجل المحدد في قائمة إدخال [screen]. إذا لم يتم تقديم وسيطة، فسيتم مطالبتك باسم السجل. يتم تحليل النص كما لو كان مكتوبًا من لوحة مفاتيح المستخدم. يمكن استخدام هذا الأمر لربط إجراءات متعددة بمفتاح واحد.
quit
اقتل جميع النوافذ وأنهِ [screen]. لاحظ أنه في المحطات الطرفية ذات نمط VT100، المفاتيح C-4 و C-\ متطابقة. هذا يجعل الارتباطات الافتراضية خطيرة: كن حذرًا من عدم كتابة C-a C-4 عند تحديد النافذة رقم 4. استخدم أمر bind الفارغ (كما هو الحال في bind '^\') لإزالة ربط المفتاح.
readbuf [ترميز] [اسم الملف]
يقرأ محتويات الملف المحدد في مخزن اللصق. يمكنك إخبار [screen] بترميز الملف عبر خيار -e. إذا لم يتم تحديد ملف، فسيتم استخدام اسم ملف [screen-exchange]. انظر أيضًا أمر bufferfile.
readreg [ترميز] [سجل [اسم الملف]]
يفعل أحد شيئين، اعتمادًا على عدد الوسائط: مع وجود صفر أو وسيطة واحدة، فإنه يكرر محتويات مخزن اللصق في السجل المحدد أو الذي تم إدخاله في المطالبة. مع وجود وسيطتين، فإنه يقرأ محتويات الملف المسمى في السجل، تمامًا كما يقرأ [readbuf] محتويات ملف [screen-exchange] في مخزن اللصق. يمكنك إخبار [screen] بترميز الملف عبر خيار -e. المثال التالي سيضع محتويات ملف كلمة مرور النظام في نافذة [screen] (مع الاحتفاظ بنسخة في السجل p):
C-a : readreg p /etc/passwd
C-a : paste p
redisplay
أعد عرض النافذة الحالية. مطلوب للحصول على إعادة عرض كاملة عند التواجد في وضع إعادة الرسم الجزئي.
register [-eencoding]key-string
احفظ السلسلة المحددة في مفتاح التسجيل. يمكن تحديد ترميز السلسلة عبر الخيار `-e`. انظر أيضًا الأمر `paste`.
remove
اقتل المنطقة الحالية. هذا ليس له تأثير إذا كانت هناك منطقة واحدة فقط.
removebuf
يزيل رابط ملف التبادل الشاشة المستخدم بواسطة الأوامر `writebuf` و `readbuf`.
rendition [ bell | monitor | silence | so ] attr [ color ]
غيّر الطريقة التي تعرض بها الشاشة عناوين النوافذ التي تحتوي على علامات `monitor` أو `bell` في `caption` أو `hardstatus` أو `windowlist`. راجع الفصل الخاص بـ "تسلسلات الهروب" للحصول على بناء جملة المُعدِّلات. القيمة الافتراضية لـ `monitor` هي حاليًا `=b` (غامق، ألوان نشطة)، ولـ `bell` هي `=ub` (تحتية، غامق وألوان نشطة)، ولـ `silence` هي `=u`.
reset
أعد تعيين الجهاز الطرفي الافتراضي إلى قيمه عند التشغيل. مفيد عندما تتبقى إعدادات غريبة (مثل مناطق التمرير أو مجموعة الأحرف الرسومية) من تطبيق ما.
resize [-h|-v|-b|-l|-p] [[+|-] n[%] |=|max|min|_|0]
غيّر حجم المنطقة الحالية. سيتم إزالة أو إضافة المساحة من أو إلى المناطق المحيطة اعتمادًا على ترتيب التقسيمات. الخيارات المتاحة لتغيير الحجم هي: `-h` (أفقي)، `-v` (عمودي)، `-b` (كلاهما)، `-l` (محلي للطبقة)، و `-p` (عمودي). تؤدي عمليات تغيير الحجم الأفقي إلى إضافة أو إزالة عرض من منطقة، وتؤدي عمليات تغيير الحجم الرأسي إلى إضافة أو إزالة ارتفاع، وتؤدي عمليات تغيير الحجم لكلا البعدين إلى إضافة أو إزالة الحجم من كلا البعدين. عمليات تغيير الحجم المحلية والعمودية مماثلة لعمليات تغيير الحجم الأفقي والرأسي، ولكنها تأخذ في الاعتبار كيفية تقسيم المنطقة. إذا كان التقسيم الأخير للمنطقة أفقيًا، فسيعمل تغيير الحجم المحلي كعملية تغيير حجم رأسي. إذا كان التقسيم الأخير للمنطقة رأسيًا، فسيعمل تغيير الحجم المحلي كعملية تغيير حجم أفقي. تعمل عمليات تغيير الحجم العمودية عكس عمليات تغيير الحجم المحلية.
إذا لم يتم تحديد أي خيار، فإن `local` هو الإعداد الافتراضي.
يمكن التعبير عن مقدار الخطوط المراد إضافتها أو إزالتها بطرق مختلفة. سيؤدي تحديد رقم `n` بمفرده إلى تغيير حجم المنطقة بهذا المقدار المطلق. يمكنك تحديد مقدار نسبي عن طريق إضافة علامة زائد `+` أو علامة ناقص `-` إلى المقدار، مثل إضافة `+n` من الخطوط أو إزالة `-n` من الخطوط. يمكن أيضًا التعبير عن تغيير الحجم كنسبة مئوية مطلقة أو نسبية عن طريق إضافة علامة النسبة المئوية `%`. يعد استخدام الصفر `0` مرادفًا لـ `min` ويعد استخدام الشرطة السفلية `_` مرادفًا لـ `max`.
بعض الأمثلة هي:
resize +N
قم بزيادة المنطقة الحالية بمقدار N
resize -N
قم بتقليل المنطقة الحالية بمقدار N
resize N
قم بتعيين المنطقة الحالية إلى N
resize 20%
قم بتعيين المنطقة الحالية إلى 20٪ من الحجم الأصلي
resize +20%
قم بزيادة المنطقة الحالية بنسبة 20٪
resize -b =
اجعل جميع النوافذ متساوية
resize max
قم بتكبير المنطقة الحالية
resize min
قم بتصغير المنطقة الحالية
بدون أي وسيطات، ستطالب الشاشة بكيفية تغيير حجم المنطقة الحالية.
انظر `focusminsize` إذا كنت تريد تقييد الحد الأدنى للحجم الذي يمكن أن تكون عليه المنطقة.
screen [-opts] [n] [cmd [args]|//group]
قم بإنشاء نافذة جديدة. يمكن تحديد خيارات التحكم في التدفق (-f، -fn و -fa)، وخيار العنوان (المعروف أيضًا باسم a.k.a.) (-t)، وخيارات تسجيل الدخول (-l و -ln)، وخيار نوع المحطة الطرفية (-T <term>)، وخيار العلامة التي تمكّن جميع الميزات (-a) وخيار التمرير (-h <num>) مع كل أمر. يقوم الخيار (-M) بتشغيل المراقبة لهذه النافذة. يقوم الخيار (-L) بتشغيل تسجيل الإخراج لهذه النافذة. إذا تم إعطاء رقم اختياري n في النطاق 0..MAXWIN-1، فسيتم تعيين رقم النافذة n للنافذة التي تم إنشاؤها حديثًا (أو، إذا كان هذا الرقم قيد الاستخدام بالفعل، فسيتم تعيين الرقم التالي المتاح). إذا تم تحديد أمر بعد "screen"، فسيتم تشغيل هذا الأمر (مع الوسائط المعطاة) في النافذة؛ وإلا، فسيتم إنشاء shell. إذا تم توفير //group، فسيتم إنشاء نافذة من النوع الحاوي يمكن إنشاء نوافذ أخرى داخلها.
لذلك، إذا كان ملف .screenrc الخاص بك يحتوي على الأسطر التالية:
# مثال لملف .screenrc:
screen 1
screen -fn -t foobar -L 2 telnet foobar
تقوم "screen" بإنشاء نافذة shell (في النافذة رقم 1) ونافذة مع اتصال TELNET بالجهاز "foobar" (بدون التحكم في التدفق باستخدام العنوان "foobar" في النافذة رقم 2) وسوف تكتب ملف سجل (screenlog.2) لجلسة telnet. لاحظ أنه على عكس الإصدارات السابقة من "screen"، لا يتم إنشاء نافذة افتراضية إضافية عند تضمين أوامر "screen" في ملف .screenrc الخاص بك. عند اكتمال التهيئة، تنتقل "screen" إلى النافذة الأخيرة المحددة في ملف .screenrc الخاص بك أو، إذا لم يتم تحديد أي منها، فستفتح نافذة افتراضية رقم 0.
يحتوي "screen" على بعض الوظائف المضمنة في أدوات "cu" و "telnet". انظر أيضًا الفصل "أنواع النوافذ".
scrollback num
قم بتعيين حجم مخزن التمرير للنافذة الحالية إلى num من الأسطر. حجم التمرير الافتراضي هو 100 سطر. انظر أيضًا الأمر "defscrollback" واستخدم "info" لعرض الإعداد الحالي. للوصول إلى محتويات مخزن التمرير واستخدامها، استخدم الأمر "copy".
select [WindowID]
قم بالتبديل إلى النافذة التي تم تحديدها بواسطة "WindowID". يمكن أن يكون هذا بادئة من عنوان النافذة (اسم النافذة الأبجدي الرقمي) أو رقم النافذة. المعلمة اختيارية وإذا تم حذفها، فسيتم مطالبتك بمعرف. عند إنشاء نافذة جديدة، يتم تعيين الرقم الأول المتاح لهذه النافذة. وبالتالي، يمكن تنشيط النافذة الأولى عن طريق "select 0". يتم تعيين عدد النوافذ بواسطة معلمة التكوين "MAXWIN" (والتي تكون افتراضيًا 100)، ولكن يمكن تغييرها باستخدام الأمر "maxwin". هناك معرفان خاصان للنافذة، "-" يحدد النافذة الداخلية الفارغة و "." يحدد النافذة الحالية. الأخير مفيد عند استخدامه مع خيار "-X" في "screen".
sessionname [name]
أعد تسمية الجلسة الحالية. لاحظ أنه بالنسبة لـ "screen -list"، يظهر الاسم مع مُعرّف العملية الملحق به. إذا تم حذف الوسيطة "name"، يتم عرض اسم هذه الجلسة. تحذير: سيظل متغير البيئة "$STY" يعكس الاسم القديم في shells الموجودة مسبقًا. قد يؤدي ذلك إلى حدوث ارتباك. لا يُنصح عمومًا باستخدام هذا الأمر. استخدم الخيار "-S" في سطر الأوامر إذا كنت تريد تسمية جلسة جديدة. يتم إنشاء الاسم افتراضيًا من أسماء tty والمضيف.
setenv [var [string]]
يُعيّن قيمة المتغير البيئي `var` إلى القيمة `string`. إذا تم تحديد `var` فقط، سيُطلب من المستخدم إدخال قيمة. إذا لم يتم تحديد أي معلمات، سيُطلب من المستخدم إدخال كل من المتغير والقيمة. يتم توريث البيئة بواسطة جميع الأصداف (shells) التي يتم إنشاؤها لاحقًا.
setsid [ on | off ]
عادةً ما يستخدم `screen` جلسات ومجموعات عمليات مختلفة للنوافذ. إذا تم إيقاف تشغيل `setsid`، فلن يتم ذلك بعد الآن وستكون جميع النوافذ في نفس مجموعة العمليات مثل عملية `screen` الخلفية. هذا يعطل أيضًا التحكم في المهام، لذا كن حذرًا. الافتراضي هو `on`، بالطبع. ربما يكون هذا الأمر مفيدًا فقط في ظروف نادرة.
shell command
يُعيّن الأمر الذي سيتم استخدامه لإنشاء صدفة (shell) جديدة. هذا يتجاوز قيمة المتغير البيئي `$SHELL`. هذا مفيد إذا كنت ترغب في تشغيل مُحسِّن طرفي يتوقع تنفيذ البرنامج المحدد في `$SHELL`. إذا بدأ الأمر بحرف `-`، فسيتم تشغيل الصدفة كـ "صدفة تسجيل دخول" (login-shell). عادةً ما تقوم الأصداف بتنفيذ تهيئة بسيطة فقط عندما لا يتم تشغيلها كـ "صدفة تسجيل دخول". على سبيل المثال، لن يقرأ `Bash` ملف `~/.bash_profile` إلا إذا كانت "صدفة تسجيل دخول".
shelltitle title
يُعيّن العنوان لجميع الأصداف (shells) التي تم إنشاؤها أثناء بدء التشغيل أو بواسطة الأمر `C-A C-c`. للحصول على تفاصيل حول ماهية "العنوان"، راجع المناقشة بعنوان "العناوين (تسمية النوافذ)".
silence [ on | off | sec ]
يقوم بتبديل مراقبة "الصمت" للنوافذ. عندما يتم تشغيل "الصمت" ويتم تبديل نافذة متأثرة إلى الخلفية، ستتلقى رسالة إشعار "الصمت" في شريط الحالة بعد فترة زمنية محددة من عدم النشاط ("الصمت"). يمكن تغيير المهلة الافتراضية باستخدام الأمر `silencewait` أو عن طريق تحديد عدد الثواني بدلاً من `on` أو `off`. يتم إيقاف تشغيل "الصمت" في البداية لجميع النوافذ.
silencewait sec
يُحدد الوقت الذي يجب أن تنتظره جميع النوافذ التي تتم مراقبتها بحثًا عن "الصمت" قبل عرض رسالة. الافتراضي هو 30 ثانية.
sleep num
سيؤدي هذا الأمر إلى إيقاف تنفيذ ملف `.screenrc` مؤقتًا لمدة `num` ثانية. سينتهي "السكون" بسبب أي نشاط من لوحة المفاتيح. يمكن استخدامه لمنح المستخدمين فرصة لقراءة الرسائل التي يتم إخراجها بواسطة الأمر `echo`.
slowpaste msec
يُحدد السرعة التي يتم بها إدراج النص في النافذة الحالية بواسطة الأمر "لصق" (`C-a ]`). إذا كانت قيمة `slowpaste` غير صفرية، فسيتم كتابة النص حرفًا تلو الآخر. سيقوم `screen` بإجراء توقف لمدة `msec` مللي ثانية بعد كتابة كل حرف فردي للسماح للتطبيق بمعالجة مدخلاته. استخدم `slowpaste` فقط إذا كان نظامك الأساسي يعرض مشاكل في التحكم في التدفق أثناء لصق كميات كبيرة من النص.
sort
يقوم بفرز النوافذ بترتيب أبجدي لأسماء النوافذ.
source file
يقرأ وينفذ الأوامر من الملف `file`. يمكن تداخل أوامر المصدر إلى أقصى مستوى للتكرار وهو عشرة. إذا لم يكن `file` مسارًا مطلقًا وكان `screen` يقوم بالفعل بمعالجة أمر مصدر، فسيتم استخدام الدليل الرئيسي لملف أمر المصدر قيد التشغيل للبحث عن ملف الأمر الجديد قبل استخدام الدليل الحالي لـ `screen`.
لاحظ أن أوامر termcap/terminfo/termcapinfo تعمل فقط عند بدء التشغيل وإعادة الاتصال، لذلك
يجب الوصول إليها عبر ملفات screenrc الافتراضية حتى يكون لها تأثير.
`sorendition [attr[color]]`
هذا الأمر مُهمل. انظر إلى "rendition so" بدلاً من ذلك.
`split[-v]`
قسّم المنطقة الحالية إلى منطقتين جديدتين. يتم تغيير حجم جميع المناطق الموجودة على الشاشة لإفساح المجال
للمنطقة الجديدة. يتم عرض النافذة الفارغة في المنطقة الجديدة. الافتراضي هو إنشاء تقسيم أفقي، ووضع
المنطقتين الجديدتين فوق بعضهما البعض. باستخدام -v، سيتم إنشاء تقسيم رأسي، مما يتسبب في ظهور
المنطقتين جنبًا إلى جنب. استخدم الأمر remove أو only لحذف المناطق. استخدم focus للتبديل بين
المناطق.
عندما يتم تقسيم منطقة بشكل معاكس للطريقة التي تم تقسيمها بها سابقًا (أي، رأسي ثم أفقي أو أفقي ثم
رأسي)، يتم إنشاء طبقة جديدة. تُستخدم الطبقة لتجميع المناطق التي يتم تقسيمها بنفس الطريقة. عادةً،
يجب ألا يرى المستخدم أو يتعامل مع الطبقات، ولكنها ستؤثر على كيفية عمل بعض الأوامر (مثل focus و
resize).
مع هذا التنفيذ الحالي لـ screen، سيظهر التمرير في منطقة مقسمة رأسيًا بشكل أبطأ بكثير من منطقة
غير مقسمة. يجب أخذ ذلك في الاعتبار إذا كنت بحاجة إلى استخدام أوامر النظام مثل cat أو tail -f.
`startup_message [on | off]`
حدد ما إذا كنت تريد رؤية إشعار حقوق النشر أثناء بدء التشغيل. الافتراضي هو on، كما ربما لاحظت.
`status [top | up | down | bottom] [left | right]`
نافذة الحالة موجودة افتراضيًا في الزاوية السفلية اليسرى. يمكن لهذا الأمر نقل رسائل الحالة إلى أي زاوية
من الشاشة. top هو نفسه up، و down هو نفسه bottom.
`stuff [string]`
ضع السلسلة string في مخزن الإدخال للنافذة الحالية. هذا مشابه للأمر paste ولكن مع تكاليف أقل.
بدون معلمة، سيطلب screen سلسلة ليتم وضعها. لا يمكنك لصق مخازن كبيرة باستخدام الأمر stuff. إنه
الأكثر فائدة لربط المفاتيح. انظر أيضًا إلى bindkey.
`su [username [password [password2]]]`
استبدل المستخدم الخاص بالشاشة. يطالب الأمر بجميع المعلمات التي تم حذفها. إذا تم تحديد كلمات المرور
كمعلمات، فيجب تحديدها غير مشفرة. تتم مطابقة كلمة المرور الأولى مقابل قاعدة بيانات passwd الخاصة بالنظام،
ويتم مطابقة كلمة المرور الثانية مقابل كلمة مرور screen كما تم تعيينها باستخدام الأوامر acladd أو
password. قد يكون su مفيدًا لمدير screen لاختبار الإعدادات متعددة المستخدمين. عند فشل
التعريف، يتمتع المستخدم بإمكانية الوصول إلى الأوامر المتاحة للمستخدم nobody. هذه هي detach و
license و version و help و displays.
`suspend`
قم بإيقاف screen. تكون النوافذ في حالة "مفصولة"، بينما يكون screen معلقًا. يعتمد هذا الميزة على
قدرة shell على إجراء التحكم في المهام.
`term term`
في بيئة كل نافذة يفتحها screen، يتم تعيين متغير $TERM إلى screen افتراضيًا. ولكن عندما لا يتم
تثبيت وصف لـ screen في قاعدة بيانات termcap أو terminfo المحلية، يمكنك تعيين $TERM إلى شيء
مثل vt100. لن يضر ذلك كثيرًا، حيث أن screen متوافق مع VT100/ANSI. لا يُشجع استخدام الأمر term
لأغراض غير افتراضية. أي، قد يرغب المرء في تحديد إعدادات $TERM خاصة (مثل vt100) لأمر screen
التالي rlogin othermachine. استخدم الأمر screen -T vt100 rlogin othermachine بدلاً من تعيين
وإعادة تعيين الافتراضي.
termcap term terminal-tweaks[window-tweaks]
terminfo term terminal-tweaks[window-tweaks]
termcapinfo term terminal-tweaks[window-tweaks]
استخدم هذا الأمر لتعديل إدخال termcap الخاص بالطرفية دون المرور بجميع الإجراءات المعقدة المتضمنة في إنشاء إدخال termcap مخصص. بالإضافة إلى ذلك، يمكنك تخصيص termcap الذي تم إنشاؤه للنوافذ اختياريًا. يجب عليك وضع هذه الأوامر في أحد ملفات بدء تشغيل screen، لأنها عديمة الفائدة بمجرد تشغيل محاكي الطرفية.
إذا كان نظامك يستخدم قاعدة بيانات terminfo بدلاً من termcap، فسوف يفهم screen الأمر terminfo'، الذي له نفس تأثير الأمرtermcap'. يتم توفير أمرين منفصلين، لأن هناك اختلافات دقيقة في بناء الجملة، على سبيل المثال،
عندما تكون هناك حاجة إلى الاستيفاء للمعلمات (باستخدام %'). لاحظ أنه يجب استخدام أسماء termcap للقدرات مع الأمرterminfo'.
في كثير من الحالات، حيث تكون الوسائط صالحة في كل من تركيب terminfo و termcap، يمكنك استخدام
الأمر termcapinfo'، وهو مجرد اختصار لزوج من الأوامرtermcap' و `terminfo' بنفس الوسائط.
يحدد الوسيط الأول الطرفية (الطرفيات) التي يجب أن يتأثر بها هذا التعريف. يمكنك
تحديد أسماء طرفية متعددة عن طريق فصلها بـ |. استخدم * لمطابقة جميع الطرفيات و
vt* لمطابقة جميع الطرفيات التي تبدأ بـ vt.
يحتوي كل وسيط تعديل على تعريفات termcap واحدة أو أكثر (مفصولة بـ `:`) ليتم إدراجها في بداية إدخال termcap المناسب، مما يعززها أو يتجاوز القيم الموجودة.
يقوم التعديل الأول بتعديل termcap الخاص بالطرفية، ويحتوي على تعريفات تستخدمها الطرفية لتنفيذ وظائف معينة. حدد سلسلة فارغة لترك هذا دون تغيير (مثل ''). التعديل الثاني
(اختياري) يعدل termcap لجميع النوافذ، ويجب أن يحتوي على تعريفات تفهمها screen (راجع قسم TERMINAL الافتراضي).
بعض الأمثلة:
termcap xterm* LP:hs@
يخبر screen أن جميع الطرفيات التي تبدأ بـ xterm لديها هوامش تلقائية ثابتة تسمح بتحديث الموضع الأخير على الشاشة (LP)، ولكنها في الواقع لا تحتوي على سطر حالة (hs - أضف @ لإيقاف تشغيل الإدخالات). لاحظ أننا نفترض LP لجميع أسماء الطرفيات التي تبدأ بـ vt، ولكن فقط إذا لم تحدد أمر termcap لهذا الطرفية.
termcap vt* LP
termcap vt102|vt220 Z0=\E[?3h:Z1=\E[?3l
يحدد القدرة LP ذات الهوامش الثابتة لجميع الطرفيات التي تبدأ بـ vt، وسيقوم السطر الثاني أيضًا بإضافة تسلسلات الهروب للتبديل إلى (Z0) والخروج من (Z1) وضع 132 حرفًا في السطر إذا كانت هذه هي VT102 أو VT220. (يجب عليك تحديد Z0 و Z1 في termcap الخاص بك
لاستخدام أوامر تغيير العرض.)
termcap vt100 "" l0=PF1:l1=PF2:l2=PF3:l3=PF4
يترك هذا إعداد termcap الخاص بـ vt100 الخاص بك كما هو ويضيف تسميات مفاتيح الوظائف إلى إدخال termcap لكل نافذة.
termcap h19|z19 am@:im=\E@:ei=\EO dc=\E[P
يأخذ إعداد termcap من نوع h19 أو z19 ويعطل التمرير التلقائي (am@) ويمكّن إمكانيات وضع الإدراج (im) وإلغاء وضع الإدراج (ei) (علامة @ في سلسلة im تأتي بعد علامة =, لذلك فهي جزء من السلسلة). سيؤدي وضع تعريفات im و ei في termcap الخاص بمحاكي الطرفية الخاص بك إلى جعل شاشة الإعلانات التلقائية لإمكانية إدراج الأحرف في termcap لكل نافذة. ستحصل كل نافذة أيضًا على إمكانية حذف الأحرف (dc) المضافة إلى termcap الخاصة بها، والتي ستقوم شاشة بترجمتها إلى تحديث للسطر للمحاكي الطرفي (نتظاهر بأنه لا يدعم حذف الأحرف).
إذا كنت ترغب في تحديد إدخال termcap لكل نافذة بالكامل، فيجب عليك بدلاً من ذلك تعيين متغير $SCREENCAP قبل تشغيل شاشة. راجع المناقشة حول المحاكي الطرفي الافتراضي في هذا الدليل، وصفحة termcap(5) للحصول على مزيد من المعلومات حول تعريفات termcap.
time [string]
يستخدم سطر الرسائل لعرض الوقت الحالي واسم المضيف ومتوسطات التحميل على مدار 1 و 5 و 15 دقيقة (إذا كانت متوفرة على نظامك). للحصول على معلومات خاصة بالنافذة، استخدم info.
إذا تم تحديد سلسلة، فإنه يغير تنسيق تقرير الوقت كما هو موضح في فصل "سلاسل الهروب". تستخدم شاشة الإعداد الافتراضي "%c:%s %M %d %H%? %l%?".
title [windowtitle]
اضبط اسم النافذة الحالية على windowtitle. إذا لم يتم تحديد اسم، فستطالب شاشة بذلك. كان يُعرف هذا الأمر باسم aka في الإصدارات السابقة.
unbindall
يزيل جميع الارتباطات. يمكن أن يكون هذا مفيدًا عندما يتم استخدام شاشة فقط لقدراتها على الفصل، مثل السماح لتطبيق وحدة التحكم بالتشغيل كعملية خلفية. إذا لزم الأمر لربط الأوامر بعد ذلك، استخدم 'screen -X'.
unsetenv var
يزيل متغير البيئة.
utf8 [ on | off [ on | off ]]
يغير الترميز المستخدم في النافذة الحالية. إذا تم تمكين utf8، فستكون السلاسل المرسلة إلى النافذة مرمّزة بتنسيق UTF-8 والعكس صحيح. يؤدي حذف المعلمة إلى تبديل الإعداد. إذا تم إعطاء معلمة ثانية، فسيتم أيضًا تغيير ترميز العرض (يجب القيام بذلك باستخدام خيار شاشة -U). انظر أيضًا defutf8، الذي يغير الإعداد الافتراضي للنافذة الجديدة.
vbell [ on | off ]
يضبط إعداد الجرس المرئي لهذه النافذة. يؤدي حذف المعلمة إلى تبديل الإعداد. إذا تم تشغيل vbell، ولكن لا يدعم المحاكي الطرفي الخاص بك جرسًا مرئيًا، فسيتم عرض "رسالة vbell" في سطر الحالة عند استلام حرف الجرس (^G). يتم تعريف دعم الجرس المرئي للمحاكي الطرفي بواسطة متغير termcap vb (terminfo: 'flash').
افتراضيًا، تكون خاصية vbell معطلة، وبالتالي يتم استخدام الجرس المسموع. انظر أيضًا bell_msg.
vbell_msg [رسالة]
يضبط رسالة الجرس المرئي. يتم عرض الرسالة في شريط الحالة إذا تلقى النافذة حرف الجرس (^G)، وتم تعيين vbell على "تشغيل"، ولكن لا يدعم الجهاز الطرفي جرسًا مرئيًا. الرسالة الافتراضية هي "ووف، ووف!!". بدون معلمة، يتم عرض الرسالة الحالية.
vbellwait ثانية
يحدد تأخيرًا بالثواني بعد كل عرض لرسالة vbell المرئية. الافتراضي هو 1 ثانية.
verbose [ تشغيل | إيقاف ]
إذا تم تشغيل verbose، يتم عرض اسم الأمر، في كل مرة يتم فيها إنشاء نافذة (أو استعادتها من حالة الزومبي). الافتراضي هو إيقاف. بدون معلمة، يتم عرض الإعداد الحالي.
version
اطبع الإصدار الحالي وتاريخ التجميع في شريط الحالة.
wall رسالة
اكتب رسالة إلى جميع الشاشات. ستظهر الرسالة في شريط الحالة الخاص بالجهاز الطرفي.
width [-w|-d] [أعمدة [صفوف]]
قم بالتبديل بين عرض النافذة بين 80 و 132 عمودًا أو قم بتعيينه إلى عدد الأعمدة المحدد إذا تم تحديد وسيطة. يتطلب هذا جهازًا طرفيًا قادرًا وإدخالات termcap Z0 و Z1. راجع أمر termcap لمزيد من المعلومات. يمكنك أيضًا تحديد ارتفاع جديد إذا كنت تريد تغيير كلتا القيمتين. يخبر خيار -w برنامج screen بالاحتفاظ بحجم الشاشة دون تغيير وتعيين حجم النافذة فقط، بينما يقوم -d بالعكس.
windowlist [ -b ] [ -m ] [ -g ]
windowlist سلسلة [سلسلة]
windowlist عنوان [عنوان]
اعرض جميع النوافذ في جدول للاختيار المرئي للنافذة. إذا كان برنامج screen في مجموعة نوافذ، فسوف يخرج برنامج screen من المجموعة ثم يعرض النوافذ الموجودة في تلك المجموعة. إذا تم إعطاء الخيار -b، فسيقوم برنامج screen بالتبديل إلى النافذة الفارغة قبل عرض القائمة، بحيث تكون النافذة الحالية قابلة للتحديد أيضًا. يقوم الخيار -m بتغيير ترتيب النوافذ، بدلاً من الفرز حسب أرقام النوافذ، يستخدم برنامج screen قائمة "الأكثر استخدامًا" الداخلية. يعرض الخيار -g النوافذ الموجودة داخل أي مجموعات في هذا المستوى وما دونه.
تُستخدم المفاتيح التالية للتنقل في windowlist:
k، C-p، أو لأعلى انتقل سطرًا واحدًا للأعلى.
j، C-n، أو لأسفل انتقل سطرًا واحدًا للأسفل.
C-g أو escape اخرج من windowlist.
C-a أو home انتقل إلى السطر الأول.
C-e أو end انتقل إلى السطر الأخير.
C-u أو C-d انتقل نصف صفحة للأعلى أو للأسفل.
C-b أو C-f انتقل صفحة كاملة للأعلى أو للأسفل.
.9 باستخدام مفاتيح الأرقام، انتقل إلى السطر المحدد.
mouseclick انتقل إلى السطر المحدد. متاح عند تعيين mousetrack على "تشغيل".
/ بحث.
n كرر البحث في الاتجاه الأمامي.
N كرر البحث في الاتجاه العكسي.
m تبديل MRU.
g تبديل تداخل المجموعة.
a عرض جميع النوافذ.
C-h أو backspace ارجع من المجموعة.
، بدّل الأرقام مع النافذة السابقة.
. بدّل الأرقام مع النافذة التالية.
K اقتل تلك النافذة.
مسافة أو مفتاح الإدخال حدد هذا النافذة.
يمكن تغيير تنسيق الجدول باستخدام خيار السلسلة والعنوان، ويتم عرض العنوان كرأس للجدول، بينما يتم إنشاء الأسطر باستخدام إعداد السلسلة. الإعداد الافتراضي هو Num Name%=Flags للعنوان و %3n %t%=%f للأسطر. راجع الفصل الخاص برموز السلسلة للحصول على المزيد من الرموز (مثل إعدادات الألوان).
تحتاج قائمة النوافذ إلى حجم منطقة لا يقل عن 10 أحرف عرضًا و 6 أحرف ارتفاعًا حتى يتم عرضها.
windows [ string ]
يستخدم سطر الرسائل لعرض قائمة بجميع النوافذ. يتم سرد كل نافذة برقم مع اسم العملية التي تم تشغيلها في النافذة (أو عنوانها)؛ يتم وضع علامة * على النافذة الحالية؛ يتم وضع علامة - على النافذة السابقة؛ يتم وضع علامة $ على جميع النوافذ التي تم تسجيل الدخول إليها؛ يتم وضع علامة ! على نافذة خلفية تلقت إشارة صوتية؛ يتم وضع علامة @ على نافذة خلفية يتم مراقبتها وقد حدث فيها نشاط؛ يتم وضع علامة (L) على نافذة تم تشغيل تسجيل الإخراج فيها؛ يتم وضع علامة & على النوافذ التي يشغلها مستخدمون آخرون؛ يتم وضع علامة Z على النوافذ في حالة "الزومبي". إذا كانت هذه القائمة طويلة جدًا بحيث لا تتناسب مع سطر حالة الجهاز، فسيتم عرض الجزء المحيط بالنافذة الحالية فقط. يتبع المعامل الاختياري للسلسلة تنسيق رموز السلسلة. إذا تم تمرير معلمة السلسلة، فإن حجم الإخراج غير محدود. الأمر الافتراضي بدون أي معلمات يقتصر على حجم 1024 بايت.
wrap [ on | off ]
يضبط إعداد التفاف الأسطر للنافذة الحالية. عند تشغيل التفاف الأسطر، سينتقل الحرف القابل للطباعة الثاني المتتالي في العمود الأخير من السطر إلى بداية السطر التالي. كميزة إضافية، سينتقل مفتاح الرجوع للخلف (^H) أيضًا عبر الهامش الأيسر إلى السطر السابق. الافتراضي هو "تشغيل". بدون أي خيارات، يتم تبديل حالة التفاف الأسطر.
writebuf [-e encoding] [filename]
يكتب محتويات المخزن المؤقت للنسخ إلى الملف المحدد، أو ملف تبادل الشاشة العام إذا لم يتم تحديد اسم ملف. يُعتبر هذا وسيلة بدائية للتواصل بين مستخدمي الشاشة على نفس الجهاز المضيف. إذا تم تحديد ترميز، فسيتم إعادة ترميز المخزن المؤقت للنسخ أثناء التنقل لمطابقة الترميز. يمكن تعيين اسم الملف باستخدام الأمر bufferfile ويكون افتراضيًا /tmp/screen-exchange.
writelock [ on | off | auto]
بالإضافة إلى قوائم التحكم في الوصول، قد لا يتمكن جميع المستخدمين من الكتابة إلى نفس النافذة في وقت واحد. افتراضيًا، يكون writelock في وضع "تلقائي" ويمنح إذن إدخال حصري للمستخدم الذي يكون أول من ينتقل إلى النافذة المعينة. عندما يغادر النافذة، يمكن للمستخدمين الآخرين الحصول على writelock (تلقائيًا). يتم تعطيل writelock للنافذة الحالية عن طريق الأمر writelock off. إذا أصدر المستخدم الأمر writelock on، فسيحتفظ بإذن الكتابة الحصري أثناء التبديل إلى نوافذ أخرى.
xoff
xon
أدخل حرف CTRL-s / CTRL-q إلى قائمة stdin للنافذة الحالية.
zmodem [ إيقاف | تلقائي | استقبال | تمرير ]
zmodem sendcmd [سلسلة]
zmodem recvcmd [سلسلة]
حدد دعم zmodem لـ screen. يفهم screen وضعين مختلفين عند اكتشاف طلب zmodem: تمرير واستقبال. إذا تم تعيين الوضع على تمرير، فسوف يقوم screen بإعادة توجيه جميع البيانات إلى المرفق حتى نهاية الإرسال. في وضع الاستقبال، يعمل screen كنقطة نهاية zmodem ويبدأ أوامر rz/sz المقابلة. إذا تم تعيين الوضع على تلقائي، فسوف يستخدم screen وضع الاستقبال إذا كانت النافذة عبارة عن طرفية (على سبيل المثال، خط تسلسلي)، وإلا فإنه سيستخدم وضع التمرير.
يمكنك تحديد القوالب التي يستخدمها screen في وضع الاستقبال عبر الشكلين الثاني والثالث.
لاحظ أيضًا أن هذه ميزة تجريبية.
zombie [مفاتيح[عند الخطأ]]
افتراضيًا، تتم إزالة نوافذ screen من قائمة النوافذ بمجرد خروج عملية النافذة (على سبيل المثال، shell). عند تحديد سلسلة من مفتاحين لأمر zombie، ستبقى "النوافذ الميتة" في القائمة. يمكن استخدام أمر kill لإزالة مثل هذه النافذة. يؤدي الضغط على المفتاح الأول في النافذة الميتة إلى نفس التأثير. عند الضغط على المفتاح الثاني، سيحاول screen إحياء النافذة. سيتم إطلاق العملية التي كانت تعمل في الأصل في النافذة مرة أخرى.
يؤدي استدعاء zombie بدون معلمات إلى مسح إعداد zombie، وبالتالي سيؤدي ذلك إلى اختفاء النوافذ عند خروج عملياتها.
نظرًا لأنه يتم التعامل مع إعداد zombie على مستوى عالمي لجميع النوافذ، فيجب استدعاء هذا الأمر على الأرجح باسم defzombie، لكنه ليس كذلك.
اختياريًا، يمكنك وضع كلمة "عند الخطأ" بعد المفاتيح. سيؤدي ذلك إلى قيام screen بمراقبة حالة الخروج للعملية التي تعمل في النافذة. إذا خرجت بشكل طبيعي ('0')، فستختفي النافذة. أي قيمة خروج أخرى تتسبب في أن تصبح النافذة "زومبي".
zombie_timeout[ثواني]
افتراضيًا، تتم إزالة نوافذ screen من قائمة النوافذ بمجرد خروج عملية النافذة (على سبيل المثال، shell). إذا تم تحديد مفاتيح zombie (قارن بالأمر zombie أعلاه)، فمن الممكن أيضًا تعيين مهلة عندما يحاول screen إعادة الاتصال تلقائيًا بنافذة screen ميتة.
سطر الرسائل
يعرض screen رسائل معلومات وتشخيصات أخرى في سطر الرسائل. في حين يتم توزيع هذا السطر ليظهر في أسفل الشاشة، يمكن تحديده ليظهر في أعلى الشاشة أثناء الترجمة. إذا كانت الطرفية الخاصة بك تحتوي على سطر حالة محدد في termcap الخاص بها، فسيستخدمه screen لعرض رسائله، وإلا فسيتم الكتابة فوق سطر من الشاشة الحالية وسيتم إخراج البيانات بشكل مؤقت. تتم إزالة سطر الرسائل تلقائيًا بعد تأخير بضع ثوانٍ، ولكن يمكن أيضًا إزالته مبكرًا (في الأجهزة الطرفية التي لا تحتوي على سطر حالة) عن طريق البدء في الكتابة.
يمكن استخدام مرافق سطر الرسائل بواسطة تطبيق يعمل في النافذة الحالية عن طريق تسلسل التحكم في رسالة ANSI للخصوصية. على سبيل المثال، من داخل shell، جرب شيئًا مثل:
echo '<esc>^Hello world from window '$WINDOW'<esc>\\'
حيث '<esc>' هو تسلسل الهروب، و'^' هو سهم للأعلى حرفي، و'\' يتحول إلى شرطة مائلة واحدة.
أنواع النوافذ
يوفر [Screen] ثلاثة أنواع مختلفة من النوافذ. يتم إنشاء نوافذ جديدة باستخدام أمر [Screen] (انظر أيضًا القسم الخاص بالتخصيص). يحدد المعامل الأول لأمر [Screen] نوع النافذة التي سيتم إنشاؤها. جميع أنواع النوافذ المختلفة هي حالات خاصة من النوع "عادي". تمت إضافتها للسماح باستخدام [Screen] بكفاءة كمضاعف وحدة تحكم مع 100 نافذة أو أكثر.
تحتوي النافذة العادية على shell (افتراضي، إذا لم يتم تقديم أي معامل) أو أي أمر نظام آخر يمكن تنفيذه من shell (مثل [slogin]، إلخ).
إذا تم تحديد اسم tty (جهاز خاص للحروف) (مثل /dev/ttya) كمعامل أول، فسيتم توصيل النافذة مباشرةً بهذا الجهاز. هذا النوع من النوافذ مشابه لـ [screen cu -l /dev/ttya]. يلزم الوصول للقراءة والكتابة إلى عقدة الجهاز، ويتم إجراء فتح حصري للعقدة لوضع علامة على اتصال الخط بأنه مشغول. يُسمح بمعامل اختياري يتكون من قائمة مفصولة بفواصل من العلامات بالتنسيق المستخدم بواسطة [stty(1)]:
<معدل_البود>
عادةً 300 أو 1200 أو 9600 أو 19200. يؤثر هذا على سرعة الإرسال والاستقبال.
cs8 أو cs7
حدد إرسال ثمانية (أو سبعة) بتات لكل بايت.
cstopb أو -cstopb
حدد بتين للإيقاف لكل حرف (واحد مع '-')
parenb أو -parenb
قم بإنشاء بت تماثل في الإخراج وتوقع بت تماثل في الإدخال
parodd أو -parodd
قم بتعيين تماثل فردي (أو تماثل زوجي مع '-')
ixon أو -ixon
تمكين (أو تعطيل) التحكم في التدفق البرمجي (CTRL-S / CTRL-Q) لإرسال البيانات.
ixoff أو -ixoff
تمكين (أو تعطيل) التحكم في التدفق البرمجي لاستقبال البيانات.
istrip أو -istrip
امسح (أو احتفظ) بالبت الثامن في كل بايت تم استلامه.
يمكنك تحديد أكبر عدد ممكن من هذه الخيارات. الخيارات غير المحددة تجعل برنامج تشغيل الجهاز الطرفي يقوم بإنشاء قيم المعلمات للاتصال. تعتمد هذه القيم على النظام وقد تكون افتراضية أو قيم تم حفظها من اتصال سابق.
بالنسبة لنوافذ tty، يعرض الأمر [info] بعض خطوط التحكم في المودم في سطر الحالة. قد تتضمن هذه الخطوط `RTS'، `CTS'، 'DTR'، `DSR'، `CD' والمزيد. يعتمد هذا على ملفات الرأس و ioctl() المتاحة وعلى القدرات المادية للوحة التسلسل. تتم الإشارة إلى الإشارات التي تكون منخفضة منطقيًا (غير نشطة) بعلامة تعجب (!) في البداية، وإلا تكون الإشارة مرتفعة منطقيًا (نشطة). عادةً ما يتم عرض الإشارات التي لا يدعمها الجهاز ولكنها متاحة لواجهة ioctl() منخفضة.
عندما تكون بتة حالة CLOCAL صحيحة، يتم وضع مجموعة خطوط التحكم في المودم بأكملها داخل أقواس معقوفة ({ و }). عندما يتم تعيين بتة CRTSCTS أو TIOCSOFTCAR، يتم عرض الإشارات CTS' أوCD' بين قوسين، على التوالي.
بالنسبة لنوافذ tty، يتسبب الأمر [break] في انخفاض خط نقل البيانات (TxD) لفترة زمنية محددة. من المتوقع أن يتم تفسير ذلك على أنه إشارة توقف على الجانب الآخر. لا يتم إرسال أي بيانات ولا يتم تغيير أي خط تحكم في المودم عند إصدار إشارة توقف.
إذا كان المعامل الأول هو //telnet، فيُتوقع أن يكون المعامل الثاني هو اسم المضيف، ويمكن أن يحدد المعامل الثالث الاختياري رقم منفذ TCP (الافتراضي هو 23 عشريًا). سيتصل [Screen] بخادم يستمع على المضيف البعيد ويستخدم بروتوكول telnet للتواصل مع هذا الخادم.
بالنسبة لنوافذ telnet، يعرض الأمر info تفاصيل حول الاتصال بين قوسين مربعين ([ و ]) في نهاية سطر الحالة.
b BINARY. الاتصال في وضع ثنائي.
e ECHO. تم تعطيل الصدى المحلي.
c SGA. الاتصال في وضع "الحرف" (الافتراضي: "وضع السطر").
t TTYPE. طلب نوع الجهاز من المضيف البعيد. يرسل [Screen] اسم "screen" ما لم يُطلب خلاف ذلك (انظر أيضًا الأمر `term`).
w NAWS. يتم إعلام الموقع البعيد بتغييرات حجم النافذة.
f LFLOW. سيرسل المضيف البعيد معلومات التحكم في التدفق. (يتم تجاهله في الوقت الحالي).
توجد علامات إضافية للتصحيح وهي x، t و n (XDISPLOC، TSPEED و NEWENV).
بالنسبة لنوافذ telnet، يرسل الأمر break رمز telnet IAC BREAK (عشري 243) إلى المضيف البعيد.
هذا النوع من النوافذ متاح فقط إذا تم تجميع [Screen] مع تعريف الخيار ENABLE_TELNET.
تسلسلات الهروب (STRING ESCAPES)
يوفر [Screen] آلية هروب لإدراج معلومات مثل الوقت الحالي في الرسائل أو أسماء الملفات. حرف الهروب هو '%' مع استثناء واحد: داخل شريط الحالة الخاص بالنافذة، يتم استخدام '^%' ('^E') بدلاً من ذلك.
فيما يلي القائمة الكاملة لتسلسلات الهروب المدعومة:
% حرف الهروب نفسه
E يضبط %? على true إذا تم الضغط على حرف الهروب.
e الترميز
f علامات النافذة، راجع النوافذ لمعاني العلامات المختلفة
F يضبط %? على true إذا كانت النافذة في وضع التركيز
h شريط الحالة الخاص بالنافذة
H اسم مضيف النظام
n رقم النافذة
P يضبط %? على true إذا كانت المنطقة الحالية في وضع النسخ/اللصق
S اسم الجلسة
s حجم النافذة
t عنوان النافذة
u جميع المستخدمين الآخرين في هذه النافذة
w جميع أرقام وأسماء النوافذ. مع المحدد '-': حتى النافذة الحالية؛ مع المحدد '+': بدءًا من النافذة التي تلي النافذة الحالية.
W جميع أرقام وأسماء النوافذ باستثناء النافذة الحالية
x الأمر الذي تم تنفيذه بما في ذلك الوسائط قيد التشغيل في هذه النافذة
X الأمر الذي تم تنفيذه بدون وسائط قيد التشغيل في هذه النافذة
? يتم عرض الجزء حتى تسلسل الهروب التالي '%?' فقط إذا توسع تسلسل الهروب '%' داخل الجزء إلى سلسلة غير فارغة
: الجزء "else" من '%?'
= املأ السلسلة بعرض الشاشة (مثل `hfill` في TeX). إذا تم تحديد رقم، فاملأ إلى النسبة المئوية لعرض النافذة. يخبر المحدد '0' [Screen] بمعاملة الرقم كموضع مطلق. يمكنك تحديد الملء بالنسبة إلى آخر موضع ملء مطلق عن طريق إضافة المحدد '+'. أو يمكنك الملء بالنسبة إلى الحافة اليمنى باستخدام '-'. يقتطع الملء السلسلة إذا كان الموضع المحدد يقع قبل الموضع الحالي. أضف المحدد 'L' لتغيير ذلك.
< نفس معنى '%=' ولكن يتم الاقتصار على الاقتطاع فقط، ولا يتم ملء الفراغات.
> يحدد الموضع الحالي للنص لعملية الاقتطاع التالية. عندما يحتاج الشاشة إلى إجراء اقتطاع، فإنه يحاول القيام بذلك بطريقة يتم فيها نقل الموضع المحدد إلى النسبة المئوية المحددة من منطقة الإخراج. (تبدأ المنطقة من آخر موضع حشو مطلق وتنتهي
بالموضع المحدد بواسطة عامل الاقتطاع). يخبر المؤهل 'L' الشاشة
بتحديد الأجزاء المقتطعة باستخدام '...'.
{ سلسلة تعديل السمات/الألوان، وتنتهي بالرمز '}'.
` يتم الاستبدال بإخراج أمر "علامة الاقتباس الخلفية". يتم استخدام مؤهل الطول بشكل خاطئ
لتحديد أحد الأوامر.
يمكن إضافة المؤهل '0' إلى رموز الهروب 'c' و 'C' لجعل الشاشة تستخدم صفرًا بدلاً من مسافة كحرف تعبئة. يجعل المؤهل '0' أيضًا يستخدم الرمز '=' مواضع مطلقة. يمكن إضافة مؤهل الطول (مثل '%3n') إلى رموز الهروب 'n' و '='، ويمكن إضافة البادئة 'L' إلى 'D' و 'M' لإنشاء أسماء طويلة، كما تعرض 'w' و 'W' علامات النافذة إذا تم إعطاء 'L'.
يتم استخدام مُعدِّل السمات/الألوان لتغيير إعدادات السمات أو الألوان. تنسيقه هو [مُعدِّل السمات] [وصف اللون]. يجب أن تكون مُعدِّلات السمات مُسبوقة بمؤشر تغيير إذا كان يمكن الخلط بينها وبين وصف اللون. الأنواع التالية من التغييرات معروفة:
+ إضافة المجموعة المحددة إلى السمات الحالية
- إزالة المجموعة من السمات الحالية
! عكس المجموعة في السمات الحالية
= تغيير السمات الحالية إلى المجموعة المحددة
يمكن تحديد مجموعة السمات إما كرقم ست عشري أو كمجموعة من الأحرف التالية:
d خافت
u تحتوي
b غامق
r عكس
s /بارز
B وميض
يتم ترميز الألوان إما كرقم ست عشري أو بحرفين يحددان لون الخلفية واللون الأمامي المطلوب (بهذا الترتيب). الألوان التالية معروفة:
k أسود
r أحمر
g أخضر
y أصفر
b أزرق
m أرجواني
c أزرق سماوي
w أبيض
d اللون الافتراضي
. اترك اللون دون تغيير
تشير الأحرف الكبيرة من الأحرف إلى الألوان الساطعة. يمكنك أيضًا استخدام اللون الزائف 'i' لتعيين السطوع فقط وترك اللون دون تغيير. يتم التعامل مع وصف اللون المكون من رقم/حرف واحد كإما لون أمامي أو لون خلفية اعتمادًا على السمات الحالية: إذا تم تعيين وضع العكس، يتم تغيير لون الخلفية بدلاً من اللون الأمامي. إذا كنت لا تحب ذلك، ضع بادئة للون بـ .. إذا كنت تريد نفس السلوك لوصفات الألوان المكونة من حرفين، ضع أيضًا بادئة لها بـ .. بشكل خاص، يستعيد %{-} السمات والألوان التي تم تعيينها قبل آخر تغيير (أي، ينفذ مستوى واحد من مكدس تغيير الألوان).
أمثلة:
G يضبط اللون على الأخضر الفاتح
+b r استخدم اللون الأحمر الغامق
= yd امسح جميع السمات، واكتب باللون الافتراضي على خلفية صفراء.
%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<
النوافذ المتاحة، مع توسيط النافذة الحالية واقتصارها على العرض المتاح. يتم عرض النافذة الحالية باللون الأبيض على خلفية زرقاء. يمكن استخدام هذا مع hardstatus alwayslastline.
%?%F%{.R.}%?%3n %t%? [%h]%?
رقم النافذة وعنوانها وحالة hardstatus الخاصة بالنافذة، إذا تم تعيينها. استخدم أيضًا خلفية حمراء إذا كانت هذه هي النافذة النشطة. مفيد لسلسلة التسمية.
التحكم في التدفق
لكل نافذة إعداد تحكم في التدفق يحدد كيفية تعامل شاشة مع أحرف XON و XOFF (وربما حرف المقاطعة). عندما يتم إيقاف تشغيل التحكم في التدفق، تتجاهل شاشة أحرف XON و XOFF، مما يسمح للمستخدم بإرسالها إلى البرنامج الحالي ببساطة عن طريق كتابتها (مفيد لمحرر emacs، على سبيل المثال). العيب هو أنه سيستغرق وقتًا أطول حتى تتوقف مخرجات البرنامج العادي استجابةً لحرف XOFF. مع تشغيل التحكم في التدفق، يتم استخدام أحرف XON و XOFF لإيقاف مخرجات النافذة الحالية على الفور. لا يزال بإمكانك إرسال هذه الأحرف إلى البرنامج الحالي، ولكن يجب عليك استخدام أوامر شاشة ذات حرفين (عادةً C-a q (xon) و C-a s (xoff)). أوامر xon/xoff مفيدة أيضًا لكتابة C-s و C-q عبر محطة طرفية تعترض هذه الأحرف.
لكل نافذة قيمة أولية للتحكم في التدفق تم تعيينها إما باستخدام الخيار -f أو الأمر defflow في ملف .screenrc. بشكل افتراضي، يتم تعيين النوافذ على وضع التبديل التلقائي للتدفق. يمكن بعد ذلك تبديلها بين الحالات الثلاث "تشغيل ثابت" و "إيقاف تشغيل ثابت" و "تلقائي" بشكل تفاعلي باستخدام الأمر flow المرتبط بـ "C-a f".
يستخدم وضع التبديل التلقائي للتدفق التحكم في التدفق باستخدام وضع TIOCPKT (كما تفعل rlogin). إذا كان برنامج تشغيل tty لا يدعم TIOCPKT، فإن شاشة تحاول معرفة الوضع الصحيح بناءً على الإعداد الحالي لمفتاح لوحة المفاتيح - عندما يكون ممكّنًا، يتم إيقاف تشغيل التحكم في التدفق، والعكس صحيح. بالطبع، يمكنك دائمًا التلاعب بالتحكم في التدفق يدويًا عند الحاجة.
إذا كنت تعمل مع تمكين التحكم في التدفق ووجدت أن الضغط على مفتاح المقاطعة (عادةً Cc) لا يوقف العرض حتى يتم تمرير 6-8 أسطر أخرى، فحاول تشغيل شاشة مع خيار المقاطعة (أضف علامة المقاطعة إلى أمر flow في ملف .screenrc، أو استخدم خيار سطر الأوامر -i). هذا يتسبب في تفريغ المخرجات التي جمعتها شاشة من البرنامج الذي تم مقاطعته. عيب واحد هو أن الذاكرة الافتراضية للمحطة الطرفية تحتوي على النسخة غير المفرغة من المخرجات، والتي يمكن أن تتسبب في حالات نادرة في حدوث بعض الأخطاء الطفيفة في المخرجات. على سبيل المثال، إذا قمت بالتبديل بين الشاشات والعودة، أو قمت بتحديث الشاشة باستخدام C-a l، فسترى نسخة المخرجات التي كنت ستحصل عليها بدون تشغيل المقاطعة. أيضًا، قد تحتاج إلى إيقاف تشغيل التحكم في التدفق (أو استخدام الوضع التلقائي لتعطيله تلقائيًا) عند تشغيل برنامج يتوقع منك كتابة حرف المقاطعة كمدخل، حيث من الممكن مقاطعة مخرجات المحطة الطرفية الافتراضية إلى المحطة الطرفية الفعلية عندما يتم تمكين التحكم في التدفق. إذا حدث هذا، فإن مجرد تحديث الشاشة باستخدام C-a l سيستعيدها. جرب كل وضع، واستخدم الوضع الذي تجده أكثر راحة.
العناوين (تسمية النوافذ)
يمكنك تخصيص اسم كل نافذة في شاشة العرض (يتم عرضها باستخدام الأمر windows (C-a w)) عن طريق تعيينه باستخدام أحد أوامر العنوان. عادةً، يكون الاسم المعروض هو اسم الأمر الفعلي للبرنامج الذي تم إنشاؤه في النافذة. ومع ذلك، فإنه في بعض الأحيان يكون من المفيد التمييز بين برامج مختلفة تحمل نفس الاسم أو تغيير الاسم أثناء التشغيل ليعكس الحالة الحالية للنافذة.
يمكن تعيين الاسم الافتراضي لجميع نوافذ shell باستخدام الأمر shelltitle في ملف .screenrc، بينما يتم إنشاء جميع النوافذ الأخرى باستخدام أمر screen وبالتالي يمكن تعيين اسمها باستخدام الخيار -t. بشكل تفاعلي، هناك تسلسل الهروب title-string (<esc>kname<esc>) والأمر title (C-a A). يمكن إخراج الأول من تطبيق للتحكم في اسم النافذة تحت سيطرة البرنامج، وسيطلب الثاني اسمًا عند كتابته. يمكنك أيضًا ربط أسماء محددة مسبقًا بالمفاتيح باستخدام الأمر title لتعيينها بسرعة دون مطالبة. يمكن التحكم في تغيير العنوان باستخدام تسلسل الهروب هذا عن طريق الأوامر defdynamictitle و dynamictitle.
أخيرًا، لدى screen طريقة استدلالية خاصة بالـ shell يتم تمكينها عن طريق تعيين اسم النافذة إلى search|name وترتيب وجود تسلسل هروب عنوان فارغ كجزء من موجه الأوامر الخاص بك. يحدد الجزء search سلسلة البحث الخاصة بنهاية الموجه، بينما يحدد الجزء name اسم الـ shell الافتراضي للنافذة. إذا انتهى الاسم بـ :، فستضيف screen ما تعتقد أنه الأمر الحالي الذي يتم تشغيله في النافذة إلى نهاية اسم الـ shell للنافذة (على سبيل المثال، name:cmd). خلاف ذلك، يحل اسم الأمر الحالي محل اسم الـ shell أثناء تشغيله.
إليك كيفية عمل ذلك: يجب عليك تعديل موجه الأوامر الخاص بك لإخراج تسلسل هروب عنوان فارغ (<esc>k<esc>) كجزء من الموجه. يجب أن يكون الجزء الأخير من موجه الأوامر الخاص بك هو نفس السلسلة التي حددتها لجزء search من العنوان. بمجرد إعداد هذا، ستستخدم screen تسلسل الهروب لتنظيف اسم الأمر السابق والاستعداد للأمر التالي. ثم، عند استلام سطر جديد من الـ shell، يتم إجراء بحث عن نهاية الموجه. إذا تم العثور عليه، فسيقوم بأخذ الكلمة الأولى بعد السلسلة المتطابقة واستخدامها كاسم الأمر. إذا بدأ اسم الأمر بأي من الأحرف '!' أو '%' أو '^'، فستستخدم screen الكلمة الأولى في السطر التالي (إذا تم العثور عليها) بدلاً من الاسم الذي تم العثور عليه. يساعد هذا مستخدمي csh في الحصول على أسماء أوامر أفضل عند استخدام أوامر التحكم في المهام أو استدعاء الأوامر من السجل.
فيما يلي بعض أمثلة ملف .screenrc:
screen -t top 2 nice top
إضافة هذا السطر إلى ملف .screenrc سيبدأ الأمر nice top في النافذة رقم 2، مع تسميتها top بدلاً من nice.
shelltitle '> |csh'
screen 1
ستبدأ هذه الأوامر shell بعنوان shell المحدد. العنوان المحدد هو عنوان تلقائي يتوقع أن يكون شكل المطالبة والأمر الذي تم كتابته كما يلي:
/usr/joe/src/dir> trn
(سيبدو بعد > اسم الأمر). سيعرض شريط حالة النافذة الاسم trn أثناء تشغيل الأمر، وسيعود إلى csh عند الانتهاء.
bind R screen -t '% |root:' su
سيؤدي وجود هذا الأمر في ملف .screenrc إلى ربط تسلسل المفاتيح C-a R بأمر su وإعطائه اسم عنوان تلقائي هو root:. لكي يعمل هذا العنوان التلقائي، يمكن أن يكون مظهر الشاشة كما يلي:
% !em
emacs file.c
في هذه الحالة، قام المستخدم بكتابة أمر سجل csh !em، والذي قام بتشغيل أمر emacs الذي تم إدخاله سابقًا. سيعرض شريط حالة النافذة root:emacs أثناء تنفيذ الأمر، وسيعود إلى root: ببساطة عند الانتهاء.
bind o title
bind E title ""
bind u title (unknown)
لا يحتوي الربط الأول على أي وسائط، لذلك سيطلب منك إدخال عنوان عند كتابة Ca o. سيمسح الربط الثاني الإعداد الحالي للعنوان التلقائي (C-a E). سيقوم الربط الثالث بتعيين عنوان النافذة الحالية إلى (unknown) (C-a u).
ضع في اعتبارك أنه عند إضافة تسلسل إلغاء عنوان فارغ إلى مطالبتك، فإن بعض shells (مثل csh) تحسب جميع الأحرف غير التحكم كجزء من طول المطالبة. إذا لم تكن هذه الأحرف غير المرئية مضاعفًا للرقم 8، فإن الرجوع للخلف فوق علامة تبويب سينتج عنه عرض غير صحيح. إحدى الطرق للتغلب على ذلك هي استخدام مطالبة مثل هذه:
set prompt='^[[0000m^[k^[\% '
لا يقوم التسلسل الهروبي ^[[0000m بتطبيع سمات الأحرف فحسب، بل يقوم أيضًا بتقريب طول الأحرف غير المرئية إلى 8. قد يرغب مستخدمو Bash في إخراج التسلسل الهروبي في PROMPT_COMMAND:
PROMPT_COMMAND='printf "\033k\033\134"'
(استخدمت \134 لإخراج `\' بسبب خطأ في bash v1.04).
المحاكي الطرفي الافتراضي
يحاكي كل نافذة في جلسة screen محاكي طرفي VT100، مع إضافة بعض الوظائف الإضافية. يتم ترميز محاكي VT100، ولا يمكن محاكاة أنواع طرفية أخرى. عادةً ما تحاول شاشة محاكاة أكبر قدر ممكن من معيار VT100/ANSI. ولكن إذا كانت محطتك الطرفية تفتقر إلى بعض الإمكانات، فقد لا يكون المحاكاة كاملة. في هذه الحالات، يجب أن تخبر شاشة التطبيقات ببعض الميزات المفقودة. هذه ليست مشكلة على الأجهزة التي تستخدم termcap، لأن شاشة يمكنها استخدام متغير $TERMCAP لتخصيص termcap القياسي لشاشة.
ولكن إذا قمت بتسجيل الدخول عن بعد إلى جهاز آخر أو كانت محطتك الطرفية تدعم terminfo فقط، فإن هذه الطريقة تفشل. لهذا السبب، تقدم شاشة طريقة للتعامل مع هذه الحالات. إليك كيفية عملها:
عندما تحاول شاشة معرفة اسم طرفي لنفسها، فإنها تبحث أولاً عن إدخال باسم screen.<term>، حيث <term> هو محتوى متغير $TERM. إذا لم يكن هناك مثل هذا الإدخال، فإن شاشة تحاول استخدام screen (أو screen-w إذا كانت المحطة الطرفية عريضة (132 عمودًا أو أكثر)). إذا لم يتم العثور على هذا الإدخال أيضًا، فسيتم استخدام vt100 كبديل.
الفكرة هي أنه إذا كان لديك جهاز طرفي لا يدعم ميزة مهمة (مثل حذف حرف أو مسح إلى نهاية السطر)، فيمكنك إنشاء إدخال termcap/terminfo جديد لـ screen (يسمى screen.<dumbterm>) يتم فيه تعطيل هذه الميزة. إذا تم تثبيت هذا الإدخال على أجهزتك، فيمكنك إجراء rlogin والاستمرار في الحصول على إدخال termcap/terminfo الصحيح. يتم وضع اسم الجهاز الطرفي في متغير $TERM لجميع النوافذ الجديدة. يقوم Screen أيضًا بتعيين المتغير $TERMCAP ليعكس إمكانيات الجهاز الطرفي الافتراضي المحاكى. لاحظ أنه على الأجهزة التي تستخدم قاعدة بيانات terminfo، فإن هذا المتغير ليس له أي تأثير. علاوة على ذلك، يتم تعيين المتغير $WINDOW إلى رقم النافذة لكل نافذة.
تعتمد مجموعة الإمكانيات المدعومة بواسطة الجهاز الطرفي الافتراضي على الإمكانيات التي يدعمها الجهاز الطرفي الفعلي. على سبيل المثال، إذا كان الجهاز الطرفي الفعلي لا يدعم وضع التسطير السفلي، فلن يقوم Screen بإضافة إمكانيات `us` و `ue` إلى متغير $TERMCAP للنافذة، وفقًا لذلك. ومع ذلك، يجب أن يدعم الجهاز الطرفي عددًا محدودًا من الإمكانيات حتى يتمكن من تشغيل Screen؛ وهي التمرير، ومسح الشاشة، والعنونة المباشرة للمؤشر (بالإضافة إلى ذلك، لا يعمل Screen على الأجهزة الطرفية التي تنتج نسخة ورقية أو على الأجهزة الطرفية التي تطبع فوق بعضها البعض).
يمكنك أيضًا تخصيص قيمة $TERMCAP المستخدمة بواسطة Screen باستخدام الأمر termcap .screenrc، أو عن طريق تحديد المتغير $SCREENCAP قبل البدء. عند تحديد الأخير، سيتم نسخ قيمته حرفيًا إلى متغير $TERMCAP لكل نافذة. يمكن أن يكون هذا إما التعريف الكامل للجهاز الطرفي، أو اسم ملف يتم فيه تعريف screen (و/أو screen-w).
لاحظ أن Screen يحترم أمر terminfo .screenrc إذا كان النظام يستخدم قاعدة بيانات terminfo بدلاً من termcap.
عندما تكون إمكانية `G0` موجودة في إدخال termcap للجهاز الطرفي الذي تم استدعاء Screen عليه، فإن محاكاة الجهاز الطرفي لـ Screen تدعم مجموعات أحرف متعددة. يسمح هذا لتطبيق باستخدام، على سبيل المثال، مجموعة أحرف رسومات VT100 أو مجموعات الأحرف الوطنية. يتم دعم وظائف التحكم التالية من ISO 2022: قفل تحويل G0 (SI)، وقفل تحويل G1 (SO)، وقفل تحويل G2، وقفل تحويل G3، وتحويل G2 واحد، وتحويل G3 واحد. عند إنشاء جهاز طرفي افتراضي أو إعادة تعيينه، يتم تعيين مجموعة أحرف ASCII على أنها G0 إلى G3. عندما تكون إمكانية `G0` موجودة، يقوم Screen بتقييم الإمكانيات `S0` و `E0` و `C0` إذا كانت موجودة. `S0` هي التسلسل الذي يستخدمه الجهاز الطرفي لتمكين وبدء مجموعة الأحرف الرسومية بدلاً من SI. `E0` هو الاستبدال المقابل لـ SO. `C0` يعطي سلسلة ترجمة أحرف بحرف تُستخدم أثناء وضع الرسوميات شبه. يتم بناء هذه السلسلة مثل إمكانية `acsc` في terminfo.
عندما تكون القدرات po و pf موجودة في إدخال termcap الخاص بالطرفية، يمكن للتطبيقات التي تعمل في نافذة screen إرسال الإخراج إلى منفذ الطابعة الخاص بالطرفية. يتيح ذلك للمستخدم أن يكون لديه تطبيق في نافذة واحدة يرسل الإخراج إلى طابعة متصلة بالطرفية، بينما تظل جميع النوافذ الأخرى نشطة (يتم تمكين منفذ الطابعة وتعطيله مرة أخرى لكل جزء من الإخراج). كأثر جانبي، يمكن للبرامج التي تعمل في نوافذ مختلفة إرسال الإخراج إلى الطابعة في وقت واحد. لا يتم عرض البيانات المرسلة إلى الطابعة في النافذة. يعرض الأمر info سطرًا يبدأ بـ PRIN عندما تكون الطابعة نشطة.
تحافظ Screen على سطر hardstatus لكل نافذة. إذا تم تحديد نافذة، سيتم تحديث hardstatus الخاص بالشاشة لمطابقة سطر hardstatus الخاص بالنافذة. إذا لم يكن لدى الشاشة أي hardstatus، فسيتم عرض السطر كرسالة شاشة عادية. يمكن تغيير سطر hardstatus باستخدام أمر ANSI Application Program Command (APC): ESC_<string>ESC\. كإضافة للمستخدمين الذين يستخدمون xterm، يتم أيضًا قبول التسلسل ESC]0..2;<string>^G.
يتم وضع بعض القدرات في متغير $TERMCAP الخاص بالطرفية الافتراضية فقط إذا كان يمكن تنفيذها بكفاءة بواسطة الطرفية الفعلية. على سبيل المثال، يتم وضع dl (حذف سطر) في متغير $TERMCAP فقط إذا كانت الطرفية تدعم إما حذف سطر أو مناطق التمرير. لاحظ أن هذا قد يثير الارتباك، عندما تتم إعادة توصيل الجلسة على طرفية مختلفة، حيث لا يمكن تعديل قيمة $TERMCAP بواسطة العمليات الأصل.
لا يتم تمكين قدرة "الشاشة البديلة" افتراضيًا. قم بتعيين الأمر altscreen .screenrc لتمكينه.
فيما يلي قائمة بتسلسلات التحكم التي تتعرف عليها screen. يشير (V) و (A) إلى الوظائف الخاصة بـ VT100 و ANSI أو ISO على التوالي.
ESC E السطر التالي
ESC D فهرس
ESC M فهرس عكسي
ESC H تعيين علامة تبويب أفقية
ESC Z إرسال سلسلة تعريف VT100
ESC 7 (V) حفظ المؤشر والسمات
ESC 8 (V) استعادة المؤشر والسمات
ESC [s (A) حفظ المؤشر والسمات
ESC [u (A) استعادة المؤشر والسمات
ESC c إعادة التعيين إلى الحالة الأولية
ESC g جرس مرئي
ESC Pn p رؤية المؤشر (97801)
Pn = 6 غير مرئي
Pn = 7 مرئي
ESC = (V) وضع لوحة المفاتيح للتطبيق
ESC > (V) وضع لوحة المفاتيح الرقمية
ESC # 8 (V) املأ الشاشة بأحرف "E"
ESC \ (A) فاصل السلسلة
ESC ^ (A) رسالة الخصوصية (سطر الرسالة)
ESC ! سلسلة الرسائل العامة (سطر الرسالة)
ESC k المعروف أيضًا باسم سلسلة التعريف
ESC P (أ) سلسلة التحكم في الجهاز. يخرج سلسلة مباشرة إلى محطة المضيف
بدون تفسير.
ESC _ (أ) أمر برنامج التطبيق (الحالة الصلبة)
ESC ] 0 ; string ^G (أ) أمر نظام التشغيل (الحالة الصلبة، اختراق عنوان xterm)
ESC ] 83 ; cmd ^G (أ) تنفيذ أمر الشاشة. هذا يعمل فقط إذا تم تجميع دعم تعدد المستخدمين في الشاشة. يتم استخدام المستخدم الزائف: window: للتحقق من قائمة التحكم في الوصول. استخدم addacl :window: -rwx #? لإنشاء مستخدم
بدون حقوق والسماح فقط بالأوامر المطلوبة.
Control-N (أ) قفل Shift G1 (SO)
Control-O (أ) قفل Shift G0 (SI)
ESC n (أ) قفل Shift G2
ESC o (أ) قفل Shift G3
ESC N (أ) Shift واحد G2
ESC O (أ) Shift واحد G3
ESC ( Pcs (أ) تحديد مجموعة الأحرف على أنها G0
ESC ) Pcs (أ) تحديد مجموعة الأحرف على أنها G1
ESC * Pcs (أ) تحديد مجموعة الأحرف على أنها G2
ESC + Pcs (أ) تحديد مجموعة الأحرف على أنها G3
ESC [ Pn ; Pn H العنونة المباشرة للمؤشر
ESC [ Pn ; Pn f نفس ما سبق
ESC [ Pn J مسح في الشاشة
Pn = None أو 0 من المؤشر إلى نهاية الشاشة
Pn = 1 من بداية الشاشة إلى المؤشر
Pn = 2 الشاشة بأكملها
ESC [ Pn K مسح في السطر
Pn = None أو 0 من المؤشر إلى نهاية السطر
Pn = 1 من بداية السطر إلى المؤشر
Pn = 2 السطر بأكمله
ESC [ Pn X مسح حرف
ESC [ Pn A تحريك المؤشر لأعلى
ESC [ Pn B تحريك المؤشر لأسفل
ESC [ Pn C تحريك المؤشر لليمين
ESC [ Pn D تحريك المؤشر لليسار
ESC [ Pn E تحريك المؤشر إلى السطر التالي
ESC [ Pn F تحريك المؤشر إلى السطر السابق
ESC [ Pn G تحريك المؤشر إلى موضع أفقي
ESC [ Pn ` نفس ما سبق
ESC [ Pn d تحريك المؤشر إلى موضع عمودي
ESC [ Ps ;...; Ps m تحديد التقديم الرسومي
Ps = None أو 0 التقديم الافتراضي
Ps = 1 غامق
Ps = 2 (أ) خافت
Ps = 3 (أ) وضع التمييز (ANSI: مائل)
Ps = 4 تحتوي
Ps = 5 وميض
Ps = 7 صورة سلبية
Ps = 22 (أ) كثافة عادية
Ps = 23 (أ) إيقاف وضع التمييز (ANSI: إيقاف المائل)
Ps = 24 (أ) ليس تحتوى
Ps = 25 (أ) ليس وميض
Ps = 27 (أ) صورة إيجابية
Ps = 30 (أ) لون المقدمة أسود
Ps = 31 (أ) لون المقدمة أحمر
Ps = 32 (أ) لون المقدمة أخضر
Ps = 33 (أ) لون المقدمة أصفر
Ps = 34 (أ) لون المقدمة أزرق
Ps = 35 (A) لون المقدمة: أرجواني
Ps = 36 (A) لون المقدمة: سماوي
Ps = 37 (A) لون المقدمة: أبيض
Ps = 39 (A) لون المقدمة: افتراضي
Ps = 40 (A) لون الخلفية: أسود
Ps = ...
Ps = 49 (A) لون الخلفية: افتراضي
ESC [ Pn g مسح علامة التبويب
Pn = None أو 0 مسح علامة التبويب في الموضع الحالي
Pn = 3 مسح جميع علامات التبويب
ESC [ Pn ; Pn r (V) تعيين منطقة التمرير
ESC [ Pn I (A) علامة تبويب أفقية
ESC [ Pn Z (A) علامة تبويب للخلف
ESC [ Pn L (A) إدراج سطر
ESC [ Pn M (A) حذف سطر
ESC [ Pn @ (A) إدراج حرف
ESC [ Pn P (A) حذف حرف
ESC [ Pn S تمرير منطقة التمرير لأعلى
ESC [ Pn T تمرير منطقة التمرير لأسفل
ESC [ Pn ^ نفس ما سبق
ESC [ Ps ;...; Ps h تعيين الوضع
ESC [ Ps ;...; Ps l إعادة تعيين الوضع
Ps = 4 (A) وضع الإدراج
Ps = 20 (A) وضع التغذية التلقائية للسطر
Ps = 34 رؤية المؤشر العادية
Ps = ?1 (V) مفاتيح المؤشر الخاصة بالتطبيق
Ps = ?3 (V) تغيير عرض الطرفية إلى 132 عمودًا
Ps = ?5 (V) عكس الفيديو
Ps = ?6 (V) وضع الأصل
Ps = ?7 (V) وضع التفاف النص
Ps = ?9 تتبع الماوس X10
Ps = ?25 (V) مؤشر مرئي
Ps = ?47 (V) شاشة بديلة (رمز xterm القديم)
Ps = ?1000 (V) تتبع الماوس VT200
Ps = ?1047 شاشة بديلة (رمز xterm الجديد)
Ps = ?1049 شاشة بديلة (رمز xterm الجديد)
ESC [ 5 i (A) بدء الإرسال إلى الطابعة (ANSI Media Copy)
ESC [ 4 i (A) إيقاف الإرسال إلى الطابعة (ANSI Media Copy)
ESC [ 8 ; Ph ; Pw t تغيير حجم النافذة إلى `Ph` سطور و `Pw` أعمدة (خاص بـ SunView)
ESC [ c إرسال سلسلة تعريف VT100
ESC [ x إرسال تقرير معلمات الطرفية
ESC [ > c إرسال سلسلة سمات الجهاز الثانوي VT220
ESC [ 6 n إرسال تقرير موضع المؤشر
ترجمة الإدخال
من أجل إجراء محاكاة كاملة لـ VT100، يجب أن تكون الشاشة قادرة على اكتشاف أن سلسلة من الأحرف في تدفق الإدخال تم إنشاؤه بواسطة ضغطة مفتاح على لوحة مفاتيح المستخدم وإدراج تسلسل إلغاء VT100. تتمتع الشاشة بطريقة مرنة للغاية للقيام بذلك من خلال جعل من الممكن تعيين أوامر عشوائية على تسلسلات أحرف عشوائية. بالنسبة لمحاكاة VT100 القياسية، سيقوم الأمر دائمًا بإدراج سلسلة في المخزن المؤقت للإدخال للنافذة (انظر أيضًا أمر التخزين المؤقت في جدول الأوامر). نظرًا لأن التسلسلات التي تم إنشاؤها بواسطة ضغطة مفتاح يمكن أن تتغير بعد إعادة الاتصال من نوع طرفية مختلف، فمن الممكن ربط الأوامر باسم termcap للمفاتيح. ستدرج الشاشة الربط الصحيح بعد كل عملية إعادة اتصال. راجع الأمر bindkey لمزيد من التفاصيل حول البناء والأمثلة.
فيما يلي جدول ربط المفاتيح الافتراضي. العمود الرابع هو الأمر الذي يتم تنفيذه عند تبديل لوحة المفاتيح إلى وضع التطبيق.
┌─────────────────┬──────────────┬──────────┬──────────┐
│ اسم المفتاح │ اسم Termcap │ الأمر │ وضع التطبيق │
├─────────────────┼──────────────┼──────────┼──────────┤
│ سهم لأعلى │ ku │ \033[A │ \033OA │
├─────────────────┼──────────────┼──────────┼──────────┤
│ سهم لأسفل │ kd │ \033[B │ \033OB │
├─────────────────┼──────────────┼──────────┼──────────┤
│ سهم لليمين │ kr │ \033[C │ \033OC │
├─────────────────┼──────────────┼──────────┼──────────┤
│ سهم لليسار │ kl │ \033[D │ \033OD │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 0 │ k0 │ \033[10~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 1 │ k1 │ \033OP │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 2 │ k2 │ \033OQ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 3 │ k3 │ \033OR │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 4 │ k4 │ \033OS │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 5 │ k5 │ \033[15~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 6 │ k6 │ \033[17~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 7 │ k7 │ \033[18~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 8 │ k8 │ \033[19~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 9 │ k9 │ \033[20~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 10 │ k; │ \033[21~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 11 │ F1 │ \033[23~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ مفتاح الوظيفة 12 │ F2 │ \033[24~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ الصفحة الرئيسية │ kh │ \033[1~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ النهاية │ kH │ \033[4~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ إدراج │ kI │ \033[2~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ حذف │ kD │ \033[3~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ صفحة للأعلى │ kP │ \033[5~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ صفحة للأسفل │ kN │ \033[6~ │ │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 0 │ f0 │ 0 │ \033Op │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 1 │ f1 │ 1 │ \033Oq │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 2 │ f2 │ 2 │ \033Or │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 3 │ f3 │ 3 │ \033Os │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 4 │ f4 │ 4 │ \033Ot │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 5 │ f5 │ 5 │ \033Ou │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 6 │ f6 │ 6 │ \033Ov │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 7 │ f7 │ 7 │ \033Ow │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 8 │ f8 │ 8 │ \033Ox │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح 9 │ f9 │ 9 │ \033Oy │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح + │ f+ │ + │ \033Ok │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح - │ f- │ - │ \033Om │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح * │ f* │ * │ \033Oj │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح / │ f/ │ / │ \033Oo │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح = │ fq │ = │ \033OX │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح . │ f. │ . │ \033On │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح ، │ f, │ , │ \033Ol │
├─────────────────┼──────────────┼──────────┼──────────┤
│ لوحة المفاتيح إدخال │ fe │ \015 │ \033OM │
└─────────────────┴──────────────┴──────────┴──────────┘
إمكانيات طرفية خاصة
يصف الجدول التالي جميع الإمكانيات الطرفية التي يتعرف عليها برنامج screen والتي لا توجد في دليل termcap(5). يمكنك وضع هذه الإمكانيات في إدخالات termcap (في /etc/termcap) أو استخدامها مع الأوامر termcap و terminfo و termcapinfo في ملفات screenrc. غالبًا ما يكون من المستحيل وضع هذه الإمكانيات في قاعدة بيانات terminfo.
LP (منطقي) الطرفية لديها هوامش على طراز VT100 ("هوامش سحرية"). لاحظ أن هذه الإمكانية قد عفا عليها الزمن لأن برنامج `screen` يستخدم الآن المعيار `xn` بدلاً من ذلك.
Z0 (سلسلة) قم بتغيير العرض إلى 132 عمودًا.
Z1 (سلسلة) قم بتغيير العرض إلى 80 عمودًا.
WS (سلسلة) قم بتغيير حجم الشاشة. تحتوي هذه الإمكانية على العرض والارتفاع المطلوبين كوسيطات. مثال SunView(tm): `\E[8;%d;%dt`.
NF (منطقي) لا تحتاج الطرفية إلى التحكم في التدفق. أرسل ^S و ^Q مباشرةً إلى التطبيق. نفس `إيقاف التدفق`. النقيض من هذه الإمكانية هو `nx`.
G0 (منطقي) يمكن للطرفية التعامل مع تسلسلات تحديد الخط ISO 2022.
S0 (سلسلة) قم بالتبديل إلى مجموعة الأحرف `G0` المحددة. الافتراضي هو `\E(%.`.
E0 (سلسلة) قم بالتبديل مرة أخرى إلى مجموعة الأحرف القياسية `G0`. الافتراضي هو `\E(B`.
C0 (str) استخدم السلسلة كجدول تحويل للخط '0'. راجع قدرة 'ac' لمزيد من التفاصيل.
CS (str) بدّل مفاتيح المؤشر إلى وضع التطبيق.
CE (str) بدّل مفاتيح المؤشر إلى الوضع العادي.
AN (bool) فعّل خاصية "التدمير التلقائي". راجع الأمر 'autonuke' لمزيد من التفاصيل.
OL (num) عيّن حد مخزن الإخراج. راجع الأمر 'obuflimit' لمزيد من التفاصيل.
KJ (str) عيّن ترميز الطرفية. راجع الأمر 'encoding' للحصول على الترميزات الصالحة.
AF (str) غيّر لون مقدمة الأحرف بطريقة متوافقة مع ANSI. سيتم تعيين هذه القدرة على القيمة '\E[3%dm' ('\E[3%p1%dm' على أجهزة terminfo) في معظم الحالات.
AB (str) نفس 'AF'، ولكن لتغيير لون الخلفية.
AX (bool) هل تدعم الطرفية تغيير لون المقدمة/الخلفية الافتراضي لـ ANSI (\E[39m / \E[49m)؟
XC (str) صف ترجمة الأحرف إلى سلاسل بناءً على الخط الحالي. التفاصيل الكاملة في القسم التالي.
XT (bool) هل تدعم الطرفية تسلسلات xterm الخاصة (OSC، تتبع الماوس)؟
C8 (bool) هل تحتاج الطرفية إلى استخدام الخط العريض لعرض الألوان ذات الكثافة العالية (مثل Eterm)؟
TF (bool) أضف القدرات المفقودة إلى إدخال termcap/info. (يتم تعيينها افتراضيًا).
ترجمة الأحرف
يحتوي [Screen] على آلية قوية لترجمة الأحرف إلى سلاسل عشوائية بناءً على الخط ونوع الطرفية الحالي. استخدم هذه الميزة إذا كنت تريد العمل بمجموعة أحرف قياسية شائعة (مثل ISO8851-latin1) حتى على الأطراف التي توزع الأحرف غير المعتادة على صفحات خطوط لغات متعددة.
الصيغة:
XC=<charset-mapping>{,,<charset-mapping>}
<charset-mapping> := <designator><template>{,<mapping>}
<mapping> := <char-to-be-mapped><template-arg>
يمكن تكرار العناصر الموجودة بين الأقواس أي عدد من المرات.
تخبر <charset-mapping> [Screen] بكيفية تعيين الأحرف في الخط <designator> ('B': ASCII، 'A': UK، 'K': German، إلخ) إلى سلاسل. يصف كل <mapping> السلسلة التي سيتم ترجمة حرف واحد إليها. يتم استخدام آلية القالب، حيث أن معظم التعليمات البرمجية لها الكثير من القواسم المشتركة (على سبيل المثال، السلاسل للتبديل إلى وإلى مجموعة أحرف أخرى). يتم استبدال كل ظهور لـ '%' في <template> بـ <template-arg> المحدد جنبًا إلى جنب مع الحرف. إذا لم تكن سلاسلك متشابهة على الإطلاق، فاستخدم '%' كقالب ووضع السلسلة الكاملة في <template-arg>. تمت إضافة آلية اقتباس لتمكين استخدام '% ' الحقيقي. يقتبس الحرف '\' الأحرف الخاصة '\' و '%' و ','.
هذا مثال:
termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\\\,\334]'
يخبر هذا [Screen] بكيفية ترجمة أحرف ISOlatin1 (مجموعة الأحرف 'B') الكبيرة ذات العلامات في الطرفية hp700 التي تحتوي على مجموعة أحرف ألمانية. تتم ترجمة '\304' إلى '\E(K[\E(B' وهكذا. لاحظ أن هذا السطر يتم تحليله ثلاث مرات قبل إنشاء جدول البحث الداخلي، لذلك هناك حاجة إلى الكثير من الاقتباس لإنشاء '\' واحد.
تمت إضافة امتداد آخر للسماح بمزيد من المحاكاة: إذا قامت عملية التعيين بترجمة الحرف '%' غير المقتبس، فسيتم إرساله إلى الطرفية في كل مرة يبدل فيها [Screen] إلى
يوضح هذا المثال أحد استخدامات الامتداد:
termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'
هنا، يتم محاكاة جزء من مجموعة الأحرف الألمانية ('K') على xterm. إذا كان برنامج screen بحاجة إلى التغيير إلى مجموعة الأحرف 'K'، فسيتم إرسال '\E(B' إلى الطرفية، أي سيتم استخدام مجموعة أحرف ASCII بدلاً من ذلك. القالب هو مجرد '%'، لذا فإن التعيين مباشر: '[' إلى '\304'، و '\' إلى '\326'، و ']' إلى '\334'.
البيئة
COLUMNS عدد الأعمدة على الطرفية (يلغي إدخال termcap).
HOME الدليل الذي يجب البحث فيه عن ملف .screenrc.
LINES عدد الأسطر على الطرفية (يلغي إدخال termcap).
LOCKPRG برنامج قفل الشاشة.
NETHACKOPTIONS يقوم بتشغيل خيار nethack.
PATH يستخدم لتحديد موقع البرامج المراد تشغيلها.
SCREENCAP لتخصيص قيمة TERMCAP للطرفية.
SCREENDIR دليل مقبس بديل.
SCREENRC ملف screenrc بديل للمستخدم.
SHELL برنامج shell الافتراضي لفتح النوافذ (افتراضيًا /bin/sh). انظر أيضًا أمر .screenrc.
STY اسم مقبس بديل.
SYSSCREENRC ملف screenrc بديل للنظام.
TERM اسم الطرفية.
TERMCAP وصف الطرفية.
WINDOW رقم نافذة عند إنشائها.
الملفات
.../screen-4.?.??/etc/screenrc
.../screen-4.?.??/etc/etcscreenrc أمثلة في حزمة توزيع screen للملفات الخاصة والعامة للتكوين الأولي.
$SYSSCREENRC
/etc/screenrc أوامر تهيئة شاشة
$SCREENRC
$HOME/.screenrc يتم قراءته بعد /etc/screenrc
$SCREENDIR/S-<login>
/run/screen/S-<login> دليل المقبس (افتراضي)
/usr/tmp/screens/S-<login> دليل مقبس بديل.
<socket directory>/.termcap يتم كتابته بواسطة وظيفة الإخراج "termcap"
/usr/tmp/screens/screen-exchange أو
/tmp/screen-exchange ذاكرة تخزين مؤقت للاتصال بين العمليات في برنامج screen
hardcopy.[0-9] صور الشاشة التي تم إنشاؤها بواسطة وظيفة hardcopy
screenlog.[0-9] ملفات سجل الإخراج التي تم إنشاؤها بواسطة وظيفة log
/usr/lib/terminfo/?/* أو
/etc/termcap قواعد بيانات قدرات الطرفية
/run/utmp سجلات تسجيل الدخول
$LOCKPRG البرنامج الذي يقوم بقفل الطرفية.
المؤلفون
تم إنشاؤه في الأصل بواسطة Oliver Laumann. تم الحفاظ عليه وتطويره لفترة طويلة بواسطة Juergen Weigert و Michael Schroeder و Micah Cowan و Sadrul Habib Chowdhury. منذ عام 2015، يتم الحفاظ عليه وتطويره بواسطة Amadeusz Slawinski و Alexander Naumov.
حقوق النشر
حقوق النشر (ج) 2018-2023 Alexander Naumov Amadeusz Slawinski حقوق النشر (ج) 2015-2017 Juergen Weigert Alexander Naumov Amadeusz Slawinski حقوق النشر (ج) 2010-2015 Juergen Weigert Sadrul Habib Chowdhury حقوق النشر (ج) 2008، 2009 Juergen Weigert Michael Schroeder Micah Cowan Sadrul Habib Chowdhury حقوق النشر (ج) 1993-2003 Juergen Weigert Michael Schroeder حقوق النشر (ج) 1987 Oliver Laumann
هذا البرنامج برنامج مجاني؛ يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو العمومية كما نشرتها مؤسسة البرمجيات الحرة؛ إما الإصدار 3، أو (حسب اختيارك) أي إصدار لاحق. يتم توزيع هذا البرنامج على أمل أن يكون مفيدًا، ولكن بدون أي ضمان؛ حتى الضمان الضمني لـ "قابلية البيع" أو "الملاءمة لغرض معين". راجع رخصة جنو العمومية لمزيد من التفاصيل. يجب أن تكون قد تلقيت نسخة من رخصة جنو العمومية مع هذا البرنامج (انظر الملف COPYING)؛ إذا لم يكن الأمر كذلك، فاكتب إلى مؤسسة البرمجيات الحرة، Inc.، 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA.
المساهمون
فينسنت ليفافر <_>، كارل دروج، مارتن تير هورنه <_>، يوسي كوككونين <_>، إريك إس. ريموند <_>، توماس رينينجر <_>، أكسل بيكرت <_>، كين بيل <_>، رودولف كونيج <_>، تويرليس إكيرت <_>، واين دافيسون <_>، باتريك وولف <_>، بارت شافر <_>، ناثان جلاسر <_>، لاري دبليو. فيردن <_>، هوارد تشو <_>، تيم ماكنزي <_>، ماركو جارفينن <_>، مارك بوشيه <_>، دوغ سيبرت <_>، كين ستيلسون <_>، إيان فريشيت <_>، براين كوهمشتيدت <_>، دون سميث <_>، فرانك فان دير ليندن <_>، مارتن شفايكرت <_>، ديفيد فرونا <_>، إي. تاي ماكوين <_>، ماثيو جرين <_>، كريستوفر ويليامز <_>، مات موسلي <_>، غريغوري نيل شابيرو <_>، يوهانس زيلنر <_>، بابلو أفيربوج <_>.
التوافر
أحدث إصدار رسمي من شاشة متاح عبر FTP مجهول من ftp.gnu.org/gnu/screen/ أو أي موقع توزيع GNU آخر. الصفحة الرئيسية لشاشة هي https://savannah.gnu.org/projects/screen/ ومستودع git هو https://git.savannah.gnu.org/cgit/screen.git. إذا كنت ترغب في المساعدة، فأرسل ملاحظة إلى _.
الأخطاء
^ m' (وضع الحذف) وxs' لا يتم التعامل معهما بشكل صحيح (يتم تجاهلهما). يتم التعامل مع `xn' كمؤشر "هامش سحري".
لا تعرف الشاشة الأحرف المزدوجة الارتفاع أو المزدوجة العرض. ولكن هذا هو المجال الوحيد الذي يُسمح للفشل فيه.
من غير الممكن تغيير متغير البيئة $TERMCAP عند إعادة الاتصال بنوع طرفي مختلف.
دعم الأنظمة القائمة على terminfo محدود للغاية. قد لا يكون لإضافة قدرات إضافية إلى $TERMCAP أي تأثير.
لا تستخدم الشاشة علامات التبويب للأجهزة.
يجب تثبيت الشاشة كـ set-uid مع مالك الجذر على معظم الأنظمة حتى تتمكن من تغيير ملكية ملف جهاز tty لكل نافذة بشكل صحيح. قد تكون هناك حاجة أيضًا إلى أذونات خاصة للكتابة في الملف /run/utmp.
لا تتم إزالة الإدخالات في /run/utmp عند قتل الشاشة باستخدام SIGKILL. سيؤدي هذا إلى إعلان بعض البرامج (مثل "w" أو "rwho") أن المستخدم قد قام بتسجيل الدخول في حين أنه في الواقع لم يفعل ذلك.
قد يعرض الشاشة تحذيرًا غريبًا عندما لا يكون لديك إدخال utmp في tty الخاص بك.
عندما يتم قطع اتصال المودم، قد لا تنفصل شاشة screen تلقائيًا (أو تخرج) ما لم يتم تكوين برنامج تشغيل الجهاز لإرسال إشارة HANGUP. لفصل جلسة screen، استخدم خيارات سطر الأوامر -D أو -d.
إذا تم تعيين كلمة مرور، فإن خيارات سطر الأوامر -d و -D لا تزال تفصل الجلسة دون طلب.
يقوم كل من breaktype و defbreaktype بتغيير طريقة إنشاء الإشارة المستخدمة بواسطة جميع أجهزة المحطة الطرفية. يجب أن يغير الخيار الأول إعدادًا خاصًا بالنافذة، بينما يجب أن يغير الخيار الثاني فقط الإعداد الافتراضي للنوافذ الجديدة.
عند الاتصال بجلسة متعددة المستخدمين، لا يتم تحميل ملف .screenrc الخاص بالمستخدم. يجب تضمين إعدادات كل مستخدم في ملف .screenrc الذي يتم تشغيل الجلسة منه، أو يجب تغييرها يدويًا.
إن الخيال الجامح هو الأكثر فائدة للاستفادة الكاملة من جميع الميزات.
أرسل تقارير الأخطاء والتصحيحات والتحسينات والقمصان والمال والبيرة والبيتزا إلى _.
انظر أيضًا
^ ermcap(5)، utmp(5)، vi(1)، captoinfo(1)، tic(1)، tty(4)، pty(7)