ما هو TTY على Linux؟ (وكيفية استخدام الأمر tty)

ماذا يفعل ttyالأمر؟ يقوم بطباعة اسم الجهاز الذي تستخدمه. يرمز TTY إلى "teletypewriter". ما القصة وراء اسم الأمر؟ هذا يتطلب المزيد من الشرح.

الطابعات عن بعد من القرن التاسع عشر

في ثلاثينيات وأربعينيات القرن التاسع عشر ، تم تطوير آلات تُعرف بالطابعات عن بُعد. يمكن لهذه الآلات إرسال رسائل مكتوبة "عبر السلك" إلى مواقع بعيدة. تم كتابة الرسائل بواسطة المرسل على لوحة مفاتيح من نوع ما. تم طباعتها على الورق عند الطرف المتلقي. لقد كانت خطوة تطورية في التلغراف ، والتي اعتمدت في السابق على مورس ورموز مماثلة.

تم تشفير الرسائل وإرسالها ، ثم استلامها وفك تشفيرها وطباعتها. كانت هناك العديد من التقنيات المستخدمة لتشفير وفك تشفير الرسائل. الأكثر شهرة والأكثر غزارة ، حصل على براءة اختراع في عام 1874 من قبل إميل بودو ، الذي سمي باسمه معدل الباود. مخطط ترميز شخصيته أقدم من ASCII بمقدار 89 عامًا.

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

للاحتفال بهذا التقدم ، تم تسمية الآلات بالكتابة عن بعد. تم اختصار هذا إلى teletypes وفي النهاية إلى TTYs. هذا هو المكان الذي حصلنا منه على الاختصار TTY ، ولكن ما علاقة التلغراف بالحوسبة؟

ASCII و Telex

عندما وصل ASCII في عام 1963 ، تم اعتماده من قبل مصنعي teletype. على الرغم من اختراع الهاتف واستخدامه على نطاق واسع ، إلا أن teletypes لا تزال قوية.

كانت Telex عبارة عن شبكة عالمية من teletypes تسمح بإرسال رسائل مكتوبة حول العالم. كانت الوسيلة الرئيسية لنقل الرسائل المكتوبة في الفترة التي أعقبت الحرب العالمية الثانية حتى طفرة أجهزة الفاكس في الثمانينيات.

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

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

Teletype المعاد توجيهه

كان teletype هو المرشح المثالي كجهاز إدخال / إخراج. لقد كان ، بعد كل شيء ، جهازًا مصممًا للسماح بكتابة الرسائل وتشفيرها وإرسالها واستلامها وفك تشفيرها وطباعتها.

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

وبالطبع ، فقد استخدمت لوحة مفاتيح قياسية أكثر أو أقل.

الأجهزة التي تمت مضاهاتها عن بُعد

أصبحت Teletypes الوسيلة الافتراضية للتفاعل مع أجهزة الكمبيوتر المصغرة والحواسيب الكبيرة الكبيرة في تلك الحقبة.

تم استبدالها في النهاية بأجهزة تحاكي تلك الآلات الكهروميكانيكية باستخدام الإلكترونيات. كانت تحتوي على أنابيب أشعة الكاثود (CRTs) بدلاً من لفات الورق. لم يهتزوا عند تقديم ردود من الكمبيوتر. لقد سمحوا بوظائف مستحيلة حتى الآن ، مثل تحريك المؤشر حول الشاشة ، ومسح الشاشة ، وكتابة النص بخط غامق ، وما إلى ذلك.

كان DEC VT05 مثالًا مبكرًا على teletype الظاهري ، وسلف DEC VT100 الشهير. تم بيع الملايين من DEC VT100s.

تمت محاكاة برامج Teletypes

في بيئة سطح المكتب لنظام Linux وأنظمة التشغيل الأخرى المشابهة لـ Unix مثل macOS ، تعد النافذة الطرفية والتطبيقات مثل x-term و Konsole أمثلة على الطابعات الافتراضية. لكن يتم محاكاة هذه بالكامل في البرامج. يطلق عليهم أنواع teletypes الزائفة. تم اختصار هذا إلى PTS.

وهنا ttyيأتي دورنا.

ماذا يمكن أن تخبرنا؟

في نظام Linux ، يوجد مُضاعِف نوع teletype زائف يتعامل مع الاتصالات من جميع أنواع Teletypes الزائفة (PTS) للنوافذ الطرفية. المضاعف هو السيد ، وال PTS هم العبيد. تتم معالجة معدد الإرسال بواسطة kernel من خلال ملف الجهاز الموجود في / dev / ptmx.

سيقوم ttyالأمر بطباعة اسم ملف الجهاز الذي يستخدمه التابع pseudo-teletype للواجهة مع السيد. وهذا ، بشكل فعال ، هو رقم نافذة جهازك.

دعونا نرى ما ttyتقارير نافذة المحطة لدينا:

tty

توضح الاستجابة أننا متصلون بملف الجهاز على / dev / pts / 0.

يتم توصيل النافذة الطرفية الخاصة بنا ، وهي محاكاة برمجية للطباعة عن بُعد (TTY) ، بمضاعف الإرسال عن بُعد الزائف كنموذج تليفزيوني زائف (PTS). ويصادف أنه رقم صفر.

الخيار الصامت

و -sيسبب الخيار (صامت) ttyلتوليد أي نتيجة.

tty-s

إنه ينتج قيمة خروج ، ومع ذلك:

  • 0 : إذا كان الإدخال القياسي قادمًا من جهاز TTY ، تمت مضاهاته أو ماديًا.
  • 1 : إذا كان الإدخال القياسي لا يأتي من جهاز TTY.
  • 2 : خطأ في بناء الجملة ، تم استخدام معلمات سطر أوامر غير صحيحة.
  • 3 : حدث خطأ في الكتابة.

من المحتمل أن يكون هذا مفيدًا للغاية في البرمجة النصية لـ Bash. ولكن ، حتى في سطر الأوامر ، يمكننا توضيح كيفية تنفيذ الأمر فقط إذا كنت تعمل في نافذة طرفية (TTY أو جلسة PTS).

tty -s && echo "In a tty"

نظرًا لأننا نجري جلسة TTY ، فإن كود الخروج لدينا هو 0 ، ويتم تنفيذ الأمر الثاني.

من يأمر

يمكن أن تكشف الأوامر الأخرى عن رقم TTY الخاص بك. سيقوم whoالأمر بسرد المعلومات لجميع المستخدمين الذين قاموا بتسجيل الدخول ، بما في ذلك أنت.

أليك وماري متصلان عن بعد بجهاز كمبيوتر Linux. وهما متصلتان بـ PTS الأول والثاني.

يظهر المستخدم ديف على أنه متصل بـ ": 0".

يمثل هذا الشاشة ولوحة المفاتيح المتصلة فعليًا بالكمبيوتر. على الرغم من أن الشاشة ولوحة المفاتيح عبارة عن أجهزة ، إلا أنها لا تزال متصلة بمُعدد الإرسال من خلال ملف الجهاز. ttyيكشف أنه / dev / pts / 2.

منظمة الصحة العالمية
tty

ذات صلة: كيفية تحديد حساب المستخدم الحالي في Linux

الوصول إلى TTY

يمكنك الوصول إلى جلسة TTY بملء الشاشة بالضغط باستمرار على مفاتيح Ctrl + Alt والضغط على أحد مفاتيح الوظائف.

سيظهر Ctrl + Alt + F3 موجه تسجيل الدخول لـ tty3.

إذا قمت بتسجيل الدخول ttyوأصدرت الأمر ، فسترى أنك متصل بـ / dev / tty3.

هذا ليس نوع تليفزيوني زائف (تمت محاكاته في البرنامج) ؛ إنه نوع تليفزيوني افتراضي (تمت مضاهاته في الأجهزة). إنه يستخدم الشاشة ولوحة المفاتيح المتصلة بجهاز الكمبيوتر الخاص بك ، لمحاكاة Teletype الظاهري مثل DEC VT100 المستخدم للقيام به.

يمكنك استخدام مفاتيح الوظائف Ctrl + Alt مع مفاتيح الوظائف من F3 إلى F6 وفتح أربع جلسات TTY إذا اخترت ذلك. على سبيل المثال ، يمكنك تسجيل الدخول إلى tty3 والضغط على Ctrl + Alt + F6 للانتقال إلى tty6.

للعودة إلى بيئة سطح المكتب الرسومية ، اضغط على Ctrl + Alt + F2.

سيؤدي الضغط على Ctrl + Alt + F1 إلى إرجاعك إلى مطالبة تسجيل الدخول لجلسة سطح المكتب الرسومية.

في وقت واحد ، سيفتح Ctrl + Alt + F1 حتى Ctrl + Alt + F6 وحدات تحكم TTY بملء الشاشة ، وسيعيدك Ctrl + Alt + F7 إلى بيئة سطح المكتب الرسومية. إذا كنت تقوم بتشغيل توزيعة Linux قديمة ، فقد تكون هذه هي الطريقة التي يتصرف بها نظامك.

تم اختبار هذا على الإصدارات الحالية من Manjaro و Ubuntu و Fedora وقد تصرفوا جميعًا على هذا النحو:

  1. Ctrl + Alt + F1 : يعود بك إلى شاشة تسجيل بيئة سطح المكتب الرسومية.
  2. Ctrl + Alt + F2 : يعود بك إلى بيئة سطح المكتب الرسومية.
  3. Ctrl + Alt + F3 : يفتح TTY 3.
  4. Ctrl + Alt + F4 : يفتح TTY 4.
  5. Ctrl + Alt + F5 : يفتح TTY 5.
  6. Ctrl + Alt + F6 : يفتح TTY 6.

يتيح الوصول إلى وحدات التحكم بملء الشاشة للأشخاص الذين يستخدمون تثبيتات سطر الأوامر فقط لنظام التشغيل Linux - ويتم تكوين العديد من خوادم Linux بهذه الطريقة - للحصول على وحدات تحكم متعددة.

هل سبق لك العمل على جهاز Linux مع بيئة سطح مكتب رسومية وكان هناك شيء يتسبب في تجميد جلستك؟ يمكنك الآن الانتقال إلى إحدى جلسات وحدة التحكم TTY بحيث يمكنك محاولة تصحيح الموقف.

يمكنك استخدام topو psفي محاولة للتعرف على تطبيق فاشل، ثم استخدم killلإنهائه، أو مجرد استخدام shutdownلمحاولة إغلاق كما برشاقة كدولة للكمبيوتر سيسمح.

ذات صلة: كيفية قتل العمليات من Linux Terminal

ثلاث رسائل صغيرة مع الكثير من التاريخ

حصل ttyالأمر على اسمه من جهاز يعود إلى أواخر القرن التاسع عشر ، ظهر في نظام التشغيل Unix عام 1971 ، وهو جزء من أنظمة التشغيل التي تشبه Linux و Unix حتى يومنا هذا.

الشاب الصغير لديه حكاية خلفه.