term(7)

الاسم
term - اتفاقيات تسمية أنواع الطرفيات

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

ستُعيّن قيمة TERM المبدئية على أساس كل سطر إما بواسطة /etc/inittab (مثل أنظمة يونكس الشبيهة بـ System-V) أو /etc/ttys (أنظمة يونكس BSD). وهذا سيكفي دائمًا تقريبًا لوحدات تحكم محطات العمل والحواسيب الدقيقة.

إذا كنت تستخدم خط اتصال هاتفي (dialup)، فقد يختلف نوع الجهاز المتصل به. كانت أنظمة يونكس القديمة تضبط مسبقًا نوع طرفية غبي جدًا مثل “dumb” أو “dialup” على خطوط الاتصال الهاتفي. أما الأنظمة الأحدث فقد تضبط مسبقًا “vt100”، مما يعكس انتشار الطرفيات المتوافقة مع DEC VT100 ومحاكيات الحواسيب الشخصية.

تمرر برامج telnet الحديثة متغير بيئة TERM الخاص بك من الجانب المحلي إلى الجانب البعيد. قد تحدث مشكلات إذا كان إدخال terminfo أو termcap البعيد لنوعك غير متوافق مع إدخالك، ولكن هذه الحالة نادرة ويمكن تجنبها دائمًا تقريبًا عن طريق تصدير “vt100” صراحةً (بافتراض أنك تستخدم بالفعل وحدة تحكم أو طرفية أو محاكي طرفية من مجموعة VT100 العليا).

في أي حال، لك الحرية في تجاوز إعداد TERM الخاص بالنظام حسب ذوقك في تشكيلة الصدفة الخاصة بك. قد تكون أداة tset(1) مفيدة؛ حيث يمكنك إعطاؤها مجموعة من القواعد لاستنتاج أو طلب نوع الطرفية بناءً على جهاز tty ومعدل البود.

قد يكون تعيين قيمة TERM الخاصة بك مفيدًا أيضًا إذا كنت قد أنشأت إدخالاً مخصصًا يتضمن خيارات (مثل الجرس المرئي أو الفيديو المعكوس) والتي ترغب في أن تتجاوز النوع المبدئي للنظام لخطك.

تُخزّن أوصاف أنواع الطرفيات كملفات لبيانات القدرات تحت /usr/share/terminfo. لتصفح قائمة بجميع أسماء الطرفيات التي يتعرف عليها النظام، نفذ

        toe | more

من الصدفة الخاصة بك. ملفات القدرات هذه بتنسيق ثنائي مُحسّن للسرعة في الاسترجاع (على عكس تنسيق termcap القديم القائم على النص الذي تحل محله)؛ لفحص أحد الإدخالات، يجب استخدام الأمر infocmp(1M). استدعه كما يلي:

        infocmp entry_name

حيث entry_name هو اسم النوع الذي ترغب في فحصه (واسم ملف قدراته موجود في الدليل الفرعي لـ /usr/share/terminfo المسمى بأول حرف منه). يفرغ هذا الأمر ملف القدرات بالتنسيق النصي الموصوف في terminfo(5).

يعطي السطر الأول من وصف terminfo(5) الأسماء التي يعرف بها terminfo الطرفية، مفصولة بحروف “|” (شريط الأنابيب) مع إنهاء حقل الاسم الأخير بفاصلة. حقل الاسم الأول هو الاسم الرئيس للنوع، وهو الاسم الذي يجب استخدامه عند تعيين TERM. حقل الاسم الأخير (إذا كان متميزًا عن الأول) هو في الواقع وصف لنوع الطرفية (قد يحتوي على فراغات؛ أما الآخرون فيجب أن يكونوا كلمات مفردة). حقول الأسماء بين الأول والأخير (إن وجدت) هي أسماء مستعارة للطرفية، وعادةً ما تكون أسماء تاريخية مُحفظة للتوافق.

توجد بعض الاتفاقيات حول كيفية اختيار الأسماء الرئيسة للطرفية التي تساعد في الحفاظ عليها إعلامية وفريدة. إليك دليل خطوة بخطوة لتسمية الطرفيات يشرح أيضًا كيفية تحليلها:

أولاً، اختر اسم جذر. سيتألف الجذر من حرف صغير متبوعًا بما يصل إلى سبعة حروف صغيرة أو أرقام. يتعين عليك تجنب استخدام علامات الترقيم في أسماء الجذور، لأنها تُستخدم وتُفسر كأخطاء في أسماء الملفات ومحارف الصدفة العليا (مثل !، $، *، ?، إلخ) المضمنة فيها مما قد يسبب سلوكًا غريبًا وغير مفيد. تعد الشرطة المائلة (/)، أو أي محرف آخر قد يُفسر بواسطة نظام الملفات لأي شخص (\، $، [، ])، خطيرة بشكل خاص (إن terminfo مستقل عن المنصة، واختيار أسماء بمحارف خاصة قد يجعل الحياة صعبة يومًا ما لمستخدمي منفذ مستقبلي). يعد محرف النقطة (.) آمنًا نسبيًا طالما لا يوجد أكثر من نقطة واحدة لكل اسم جذر؛ تستخدمه بعض أسماء terminfo التاريخية.

يجب أن يبدأ اسم الجذر لنوع طرفية أو وحدة تحكم محطة عمل دائمًا تقريبًا بسابقة البائع (مثل hp لـ Hewlett-Packard، أو wy لـ Wyse، أو att لطرفيات AT&T)، أو اسم شائع لخط الطرفية (vt لسلسلة طرفيات VT من DEC، أو sun لوحدات تحكم محطات عمل Sun Microsystems، أو regent لسلسلة ADDS Regent. يمكنك سرد شجرة terminfo لرؤية السوابق المستخدمة بالفعل بشكل شائع. يجب أن تتبع سابقة اسم الجذر عند الاقتضاء برقم الطراز؛ وبالتالي vt100، hp2621، wy50.

يجب أن يكون اسم الجذر لنوع وحدة تحكم PC-Unix هو اسم نظام التشغيل، أي linux، bsdos، freebsd، netbsd. يجب ألا لا يكون console أو أي اسم عام آخر قد يسبب ارتباكًا في بيئة متعددة المنصات! إذا تبع ذلك رقم طراز، فيجب أن يشير إما إلى مستوى إصدار نظام التشغيل أو مستوى إصدار تعريف وحدة التحكم.

يجب أن يكون اسم الجذر لمحاكي طرفية (بافتراض أنه لا يناسب أحد أنواع ANSI أو vt100 القياسية) هو اسم البرنامج أو اختصار يسهل التعرف عليه (أي versaterm، ctrm).

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

2p  يحتوي على صفحتين من الذاكرة. وبالمثل 4p، 8p، إلخ.

mc  بسكويت سحري (Magic-cookie). بعض الطرفيات (خاصة طرازات Wyse القديمة) يمكنها فقط دعم سمة واحدة بدون فقدان البسكويت السحري. عادةً ما يُقرن إدخالها الأساسي بآخر يحتوي على هذه اللاحقة ويستخدم البسكويت السحري لدعم سمات متعددة.

-am تمكين الهامش الآلي (التفاف الهامش الأيمن).

-m  الوضع الأحادي - كتم دعم الألوان.

-na لا توجد مفاتيح أسهم - يتجاهل termcap مفاتيح الأسهم الموجودة بالفعل على الطرفية، بحيث يمكن للمستخدم استخدام مفاتيح الأسهم محليًا.

-nam
    لا يوجد هامش آلي - كتم قدرة am.

-nl لا توجد لصائق - كتم اللصائق البرمجية.

-nsl
    لا يوجد سطر حالة - كتم سطر الحالة.

-pp يحتوي على منفذ طابعة مُستخدَم.

-rv الطرفية في وضع الفيديو المعكوس (أسود على أبيض).

-s  تمكين سطر الحالة.

-vb استخدم الجرس المرئي (وميض) بدلاً من الصفارة.

-w  عريض؛ الطرفية في وضع 132 عمودًا.

تقليديًا، إذا كان نوع طرفيتك متغيرًا يهدف إلى تحديد ارتفاع السطر، فيجب أن تأتي هذه اللاحقة أولاً. لذا، لطرفية FuBarCo افتراضية طراز 2317 في وضع 30 سطرًا مع فيديو معكوس، سيكون أفضل شكل هو fubar-30-rv (بدلاً من، على سبيل المثال، “fubar-rv-30”).

تتميز أنواع الطرفيات التي لا تُكتب كإدخالات مستقلة، بل كمكونات تُدمج في إدخالات أخرى عبر قدرات use، باستخدام علامات زائد مضمنة بدلاً من الواصلات.

غالبًا ما تقبل الأوامر التي تستخدم نوع طرفية للتحكم في العرض خيار -T الذي يقبل وسيط اسم الطرفية. يجب أن تعود مثل هذه البرامج إلى متغير بيئة TERM عند عدم تحديد خيار -T.

الملفات

/usr/share/terminfo
    قاعدة بيانات أوصاف الطرفية المجمّعة

/etc/inittab
    تهيئة سطر tty (أنظمة يونكس الشبيهة بـ AT&T)

/etc/ttys
    تهيئة سطر tty (أنظمة يونكس الشبيهة بـ BSD)

القابلية للنقل
لأقصى قدر من التوافق مع أنظمة يونكس System V القديمة، يجب أن تكون الأسماء والأسماء المستعارة فريدة ضمن أول 14 محرفًا.

انظر أيضًا
curses(3X), term(5), terminfo(5)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.