Ttys - це не просто пристрої введення / виводу. Вони також виконують особливу роботу, виконуючи функцію керуючого терміналу для сеансу, як передача сигналів (Ctrl + C). / dev / ttyNN - це віртуальні консолі, які є повноекранними дисплеями на моніторі.
Термінали починаються з / dev / tty1. Ви можете перейти на ці консолі, як правило, натискаючи клавіші Ctrl + Alt + Fn.
наприклад, Ctrl + Alt + F1 доставить вас до першого віртуального терміналу. В даний час більшість дистрибутивів Linux запускає X-сервер від tty1. Отже, натискання клавіш Ctrl + Alt + F1 може не мати ефекту.
$ ps ax | grep Xorg | grep -v grep
1504 tty1 Ss+ 44:57 /usr/bin/Xorg :0 -background none -verbose -auth /var/run/gdm/auth-for-gdm-rfsWyA/database -nolisten tcp vt1
Ctrl + Alt + F2 доставить вас до другого терміналу. Зазвичай дистрибутиви виконують програму входу (agetty) на віртуальний термінал.
$ ps ax | grep tty2 | grep -v grep
31865 tty2 Ss+ 0:00 /sbin/agetty tty2 38400
Програми входу надають вам підказку для входу та дозволяє вам увійти з ім’ям користувача / паролем. Сценарії init визначають, де буде виконуватися вся програма входу. Отже, залежно від того, ви можете або не бачите підказку для входу, скажімо, tty9. Щоб повернутися до інтерфейсу GUI, натисніть Ctrl + Alt + F1 (як у прикладі виводу вище).
/ dev / tty0 - це спеціальний пристрій, який вказує на поточний термінал. Отже, незалежно від того, звідки ви його запускаєте (будь-яка віртуальна консоль), все, що читається з / написане на tty0, переходить до вашого поточного терміналу.
Другий стовпчик у 'ps ax' також дає контрольний термінал програми. Для деяких програм, наприклад демонів, ви можете бачити, що стовпець є "?", Що означає, що вони не прив'язані до терміналу.
/ dev / pts / 0 тощо - це пристрої psuedo-терміналів, які не приєднані до дисплея системи. наприклад, термінал, який ви отримуєте, коли відкриєте gnome-термінал або будь-який інший термінал GUI. Це підхід, орієнтований на клієнт-сервер, де клієнтська частина буде експортуватися в такі програми, як bash. Дані, що надсилаються програмою на псевдотермінал, надсилаються на сторону "сервера" (яка зазвичай контролюється іншою програмою, наприклад gnome-терміналом). Процес контролю (сторона сервера) визначає, що потрібно відправити в термінал, що в кінцевому підсумку бачиться клієнтом. Ці пристрої допомагають вам відкривати кілька "терміналів GUI" без будь-яких обмежень у вашій системі, все ще забезпечуючи такий самий старий термінал, як елементи керування (ioctl (), налаштування кольору, надсилання сигналів [Ctrl + C] тощо).