الشرح المبسط
الشرح التقني المتقدم
يمثل مصطلح TTY (Teletypewriter) في نظام لينكس (Linux) الواجهة الأساسية التي تربط بين المستخدم القياسي ونواة النظام (Kernel) لتبادل المدخلات والمخرجات النصية. تاريخيا، كانت أجهزة مادية، أما اليوم فهي تمثل ملفات أجهزة (Device Files) تعمل خلف الكواليس لتنظيم نقل البيانات.
أنواع واجهات TTY في لينكس
في الأنظمة الحديثة، تنقسم هذه الواجهات إلى نوعين رئيسيين:
- الطرفية الافتراضية (Virtual Console): يمكن الوصول إليها عادة بالضغط على أزرار Ctrl و Alt مع مفاتيح F1 إلى F6، وتمثل واجهات النظام الأساسية.
- الطرفية الوهمية (Pseudo-TTY أو PTY): وهي التي تستخدمها عند فتح تطبيقات سطح المكتب مثل محاكي الطرفية (Terminal Emulator) أو عند الاتصال عن بعد عبر بروتوكول القشرة الآمنة (SSH).
كيفية معرفة الطرفية الحالية
لمعرفة اسم ملف الطرفية (Device File) الذي تستخدمه حاليا لتنفيذ الأوامر، يمكنك استخدام أمر بسيط جدا:
أمر التنفيذ:
tty
سيعرض هذا الأمر مسار (Path) الملف الخاص بالطرفية، وعادة ما تكون المخرجات مشابهة لما يلي:
- إذا كنت في واجهة رسومية، قد يظهر المسار هكذا: /dev/pts/0
- إذا كنت في طرفية النظام المباشرة، سيظهر مسار مثل: /dev/tty1
استخدام الأوامر المرتبطة وتوجيه المخرجات
يمكنك توجيه مخرجات أي عملية (Process) لتظهر على شاشة طرفية أخرى إذا كانت لديك الصلاحيات المناسبة:
أمر التنفيذ لإرسال رسالة لطرفية أخرى:
echo "System Maintenance" > /dev/pts/1
توضيح للعملية التقنية:
- الرمز > يقوم بتوجيه المخرج النصي القياسي (Standard Output) إلى ملف جهاز الطرفية المستهدفة مباشرة.
- يجب تشغيل هذا الأمر بصلاحيات الجذر (Root) أو باستخدام sudo إذا كانت الطرفية المستهدفة تتبع لمستخدم آخر.
ملاحظة ختامية: إدارة الجلسات (Sessions)
تعتبر كل واجهة TTY بمثابة مدير لجلسة المستخدم، حيث تقوم بتتبع العمليات المرتبطة بها، وعند إغلاق واجهة الطرفية، يقوم النظام بإرسال إشارة إنهاء (SIGHUP) لإغلاق كافة المهام المعلقة المرتبطة بتلك الجلسة لضمان استقرار النظام (System).