Arya Shabane
Arya Shabane
خواندن ۵ دقیقه·۳ سال پیش

‏tty در لینوکس چیست؟

شما باید درباره اصطلاح tty زمانی که به لینوکس و یونیکس آمد، شنیده باشید. اما tty چیست؟

آیا برای شما به عنوان یک کاربر دستکتاپ مفید است؟

به آن نیاز دارید؟ می‌توانید با آن چه کار کنید؟

اجازه دهید هر چیز ضروری برای آشنا کردن شما با اصطلاح tty را در این پست برسی کنیم.

به یاد داشته باشید که پاسخ قطعی برای این سوال وجود ندارد، اما به نحوه تعامل دستگاه های input/output(ورودی/خروجی) در گذشته ربط دارد.

برای اینکه تصویری شفاف از آن داشته باشید باید کمی از تاریخ‌ش را بدانید.

تاریخ پشت اصطلاح tty

همه چیز از یک teleprinter در سال 1830 شروع شد.

‏دستگاه teleprinter به شما اجازه می‌داد که از طریق سیم پیام ارسال و دریافت کنید. teleprinter جایگزینی برای ارطبات مورس کد بود در آن دو اپراتور برای ارطبات با یکدیگر مود نیاز بود. اما در teleprinter فقط به یک اپراتور برای ارسال پیام نیاز داشت. درحالی که teleprinter یک صفحه کلید مدرن نداشت، بعد ها سیستم آن توسط Donald Murray به یک صفحه کلید teletypewriter تکامل یافت.

اختراع Murray زحمت اپراتور ها را برای ارسال پیام را کاهش داد و این امکان را برای teletypeprinter فراهم کرد که به عنوان یک teletypewriter تجاری در سال 1908 بیرون بیاید. tty نام کوتاه شده teletypewrite است.

مفهوم مدرن

اکنون شما باید متعجب شده باشید که چطور tty به لینوکس و کامپیوتر مدرن آمده است.

بسیار خب، برای شروع، زمانی که teletypewriter به بازار رسید، چند سال بعد ترانزیستور های نیمه هادی(نیمه رسانا) توسعه داده شد که به میکروپروسسور(micro proccessor) هایی تبدیل شدند که کامپیوتر را ممکن می‌کرند.

کامپیوتر های اولیه مفهومی به اسم صفحه کلید نداشتند. کارت های پانج روش ورودی دادن به کامپیوتر ها بود.

درحالی که کامپیوتر ها توسعه پیدا می‌کردند، بالاخره کارت های پانچ با teletypewriter به عنوان دستگاه ورودی/خروجی مناسب جایگزین شد.

با توسعه تکنولوژی teletypewriter ها با استفاده از الکترونیک مجازی شدند. پس شما به یک tty فیزیکی، مکانیکی نیاز پیدا نمی‌کنید، بلکه به یک tty مجازی، الکترونیکی نیاز دارید.

اوایل کامپیوتر ها صفحه نمایش هم نداشتند. چیز ها بجای نمایش داده شدن بروی صفحه نمایش (که وجود نداشت) به روی کاغذ چاپ می‌شدند. به همین دلیل شما بجای دیدن اصطلاح display اصطلاح print را می‌بینید. ویدیو ها به عنوان تکنولوژی پیشرفته به ترمینال(پایانه) ها اضافه شد. به عبارت دیگر شما باید درباره ترمینال های ویدیویی شنیده باشید. یا شما می‌توانید آن ها را ترمینال های فیزیکی بنامید.

سپس اینها به ترمینال های نرم افزاری شبیه سازی شده تکامل پیدا کردند که با قابلیت ها و ویژگی های تسوسعه یافته‌ای همرا بود. این چیزی است که شما آن را terminal emulator می‌نامید.

برای نمونه ترمینال گنوم (Gnome) یا کنسول (Konsole) چنتا از بهترین ترمینال هایی هستند که می‌توانید برای لینوکس پیدا کنید.

بسیارخب tty در لینوکس چیست؟

زمانی که tty به لینوکس و یونیکس آمد، یک دستگاه مستقل در یونیکس و لینوکس بود گاهی tty به یک دستگاه ورودی فیزیکی مانند serial port(درگاه سریال) اشاره می‌کرد، و گاهی به ترمینال های مجازی اشاره می‌کرد که به کاربران اجازه تعامل با سیستم را می‌داد.

در واقع tty یک زیر سیستم در لینوکس و یونیکس است که مدریت فرایند، ویرایش خط و مدیریت نشست ها را در سطح کرنل از طریق درایور های tty ممکن می‌کند.

از دیدگاه برنامه نویسی شما باید در این موضوع عمیق تر شوید. اما محدوده این پست را در نظر بگیرید، این مقاله باید یک توضیح ساده برای درک بهتر باشد. در حقیقت، هر گاه یک ترمینال را باز می‌کنیم یا هر نوع shell دیگیری را در سیستمتان استفاده کنید، آن shell با tty مجازی که PTY یا pseudo-tty هم شناخته می‌شوند، تعامل خواهد داشت.

شما می‌توانید tty را در ترمینال تایپ کنید و pty مرتبط را پیدا کنید.

چگونه به tty در لینوکس دسترسی داشته باشیم؟

دسترسی به tty در لینوکس ساده است. در حقیت زمانی که هیچ سرنخی از اینکه tty چیست نداشتم، به طور اتفاقی به آن دسترسی پیدا کردم و از اینکه چطوری باید از آن خارج شوم وحشت زده شدم!

شما می‌توانید با کلید های میانبر زیر در اکثر توزیع های لینوکس به صفحه tty دسترسی پیدا کنید.

CTRL + ALT + F1Lockscreen

CTRL + ALT + F2Desktop Environment

CTRL + ALT + F3TTY3

CTRL + ALT + F4TTY4

CTRL + ALT + F5TT5

CTRL + ALT + F6TTY6

شما می‌توانید حد اکثر به 6 tty دسترسی داشته باشید، با این حال دو تا از اولین کلید های میانبر به صفحه قفل و محیط دسکتاپ اشاره دارد.

بنابر این، با باقی کلید های میانبر شما به محیط command-line دسترسی می‌گیرید.

چه زمانی شما از tty در لینوکس استفاده خواهید کرد؟

درواقع tty فقط یک گنج تکنیکی نیست. حتی برای کاربرانی مثل من که توسعه دهنده نیستند هم مفید است.

زمانی که محیط گرافیکی فریز می‌شود باید به کار بیاید. در بعضی از مواقع نصب مجدد محیط گرافیکی با استفاده از tty می‌تواند مشکل را حل کند.

یا شما می‌توانید tty را برای انجام کار هایی مثل آپدیت انتخاب کنید جایی که شما نمی‌خواهید مشکلات بصری فرایند های شما را مختل کند.

بد ترین مورد سناریو، شما می‌تواند زمانی که محیط دستکتاپ جواب نمی‌دهد، برای ریبوت به tty مراجعه کنید.

بعضی از کاربران ترجیح می‌دهند که فایل های بزرگ را با tty منتقل کنند(من از آنها نیستم).

‏tty به عنوان یک دستور در لینوکس

همانطور که در صفحه راهنمای (man page) tty توضیح داده شده است، زمانی که شما tty را در ترمینال تایپ کنید، نام فایل ترمینال که به وردی استاندارد متصل است را چاپ می‌کند.

به عبارت دیگر برای دانستن عدد tty که به آن متصل هستید، فقط tty را در ترمینال تایپ کنید. اگر چند کاربر از راه دور به سیستم لینوکس متصل هستند، می‌توانید برای برسی اینکه به چه متصل هستند از کامند who استفاده کنید.

خارج از ترجمه

متن ترجمه شده بود و خب من یک متخصص زبان نیستم، من یک برنامه نویسم که بلاگ نویسی و ترجمه رو هم دوست دارم، سعی کردم به بهترین نحو متن را ترجمه کنم و در اختیار بقیه بذارم، اگر حس کردین جایی از متن مشکلی داره، خیلی خوشحال می‌شوم که مشکلم رو بهم بیگید، این کمک بزرگیه.

متن اصلی رو می‌توانید از این لینک بخوانید.

و خب اگر بلاگ های قبلی من رو خوانده باشید من هر متن توی بلاگ خودم هم منتشر می‌کنم، لینک این متن در بلاگ من

https://bit-orbit.github.io/blog/post/what-is-tty-in-linux/


The only currency left in the world is POWER
شاید از این پست‌ها خوشتان بیاید