Что такое TTY в Linux?

Вы наверняка слышали о термине “TTY”, когда речь идет о Linux и UNIX. Но что это такое?

Полезен ли он вам как пользователю настольного компьютера? Нужен ли он вам? И что вы можете с ним делать?

В этой статье я расскажу обо всем, что необходимо, чтобы вы познакомились с термином TTY в Linux.

Обратите внимание, что окончательного ответа на этот вопрос нет, но он связан с тем, как взаимодействовали устройства ввода/вывода в прошлом. Поэтому вам придется узнать немного истории, чтобы получить ясную картину.

История термина “TTY”

Все началось с телепринтера в 1830-х годах.

Телепринтеры позволяли отправлять/получать текстовые сообщения по проводам. Это была замена азбуке Морзе, где для эффективной связи друг с другом требовалось два оператора.

Телепринтеру же достаточно было одного оператора, чтобы легко передать сообщение. Хотя у него не было клавиатуры с современной раскладкой, его система была позже усовершенствована Дональдом Мюрреем в 1901 году и стала включать клавиатуру, подобную печатной машинке.

Код Мюррея уменьшил усилия операторов по передаче сообщения. Это позволило телепринтеру превратиться в коммерческий телетайп в 1908 году. TTY – это сокращение от Teletypewriter.

wacsoperateteletype
Фактический телетайп в использовании во время Второй мировой войны в Лондоне | Image Wikimedia

Разница между телетайпом и обычной пишущей машинкой заключалась в том, что телетайп был подключен к коммуникационному устройству для отправки набранного сообщения.

Благодаря телетайпу люди могли быстрее общаться по проводам без компьютеров.

Именно здесь и появилось слово “TTY”.

(Относительно) современная концепция

Теперь, должно быть, вам интересно, как она попала в современные компьютеры и в Linux?

Ну, для начала, когда телетайп появился на рынке, несколько лет спустя были разработаны полупроводниковые транзисторы, которые затем превратились в микропроцессоры, сделавшие возможным создание компьютера.

В первых компьютерах не было понятия клавиатуры. Для ввода данных использовались перфокарты.

punch card program
Компьютерная программа на перфокарте, которую вводили в компьютер вместо того, чтобы набирать ее на клавиатуре (TTY) | Image credit

Пока компьютеры развивались, перфокарты со временем были заменены телетайпами как удобное устройство ввода/вывода.

lgp 30 early computer 1956
Компьютер LGP-30 в 1956 году с подключенным к нему TTY

С развитием технологий телетайпы были “виртуализированы” с помощью электроники. Таким образом, вам нужен был не физический, механический TTY, а виртуальный, электронный TTY.

В ранних компьютерах даже не было видеоэкранов. Все печаталось на бумаге, а не выводилось на экран (которого не существовало). Отсюда и использование термина “печать”, а не “отображение”. Видео было добавлено к терминалам позже, по мере развития технологий.

Другими словами, вы могли слышать о них как о видеотерминалах. Или можно назвать их “физическими” терминалами.

Затем они превратились в терминалы с программной эмуляцией, которые обладали расширенными возможностями и функциями.

Это то, что вы называете “эмулятором терминала”. Например, GNOME Terminal или Konsole являются одними из лучших эмуляторов терминала, которые вы можете найти для Linux.

Итак, что такое TTY в Linux?

Когда речь идет о Linux, TTY – это абстрактное устройство в UNIX и Linux. Иногда оно относится к физическому устройству ввода, такому как последовательный порт, а иногда к виртуальному TTY, который позволяет пользователям взаимодействовать с системой.

Прочтите:  Обзор JingOS - дистрибутива для планшетов на базе Linux

TTY – это подсистема в Linux и Unix, которая делает возможным управление процессами, редактирование строк и управление сеансами на уровне ядра через драйверы TTY.

С точки зрения программирования, вам нужно погрузиться глубже. Но, учитывая объем данной статьи, это определение может быть легким для усвоения.

Если вам интересно, вы можете изучить старый ресурс (TTY Demystified), который пытается прояснить TTY в Linux и Unix системах со всеми необходимыми техническими деталями.

На самом деле, когда вы запускаете эмулятор терминала или используете какую-либо оболочку в вашей системе, она взаимодействует с виртуальными TTY, которые известны как псевдо-TTY или PTY.

Вы можете просто ввести TTY в эмуляторе терминала, чтобы найти соответствующий PTY.

Как получить доступ к TTY в Linux?

av7tv
ubuntu tty

Получить доступ к TTY в Linux очень просто. На самом деле, когда я не знал, что это такое, я случайно получил доступ к нему и запаниковал, что делать (как выйти из него).

Вы можете получить доступ к экрану TTY, используя следующие сочетания клавиш в большинстве дистрибутивов:

  • CTRL + ALT + F1 – Экран блокировки
  • CTRL + ALT + F2 – окружение рабочего стола
  • CTRL + ALT + F3 – TTY3
  • CTRL + ALT + F4 – TTY4
  • CTRL + ALT + F5 – TTY5
  • CTRL + ALT + F6 – TTY6

Всего можно получить доступ к шести TTY. Однако первые два ярлыка указывают на экран блокировки дистрибутива и среду рабочего стола.

ubuntu tty4
ubuntu tty4

Остальные ярлыки указывают на интерфейс командной строки.

Когда вы можете использовать TTY в Linux?

TTY – это не только техническое сокровище. Он полезен даже для таких пользователей, как я, которые не являются разработчиками.

Он пригодится в случае, если графическая среда рабочего стола зависнет. В некоторых случаях переустановка окружения рабочего стола с TTY помогает решить проблему.

Или же вы можете выполнять в TTY такие задачи, как обновление системы Linux и подобные, где вы не хотите, чтобы визуальные проблемы прерывали ваш процесс.

В худшем случае, вы можете обратиться к TTY и перезагрузить компьютер, если ваш графический интерфейс пользователя не реагирует.

Некоторые пользователи также предпочитают выполнять передачу больших файлов с помощью TTY (я не отношусь к их числу).

Вы даже можете установить драйвера nvidia с официального сайта с помощью tty

Когда вы вводите TTY в эмуляторе терминала, он выводит имя файла терминала, подключенного к стандартному вводу, как описано на странице man.

Другими словами, чтобы узнать номер TTY, к которому вы подключены, просто введите TTY. И, если к машине Linux удаленно подключено несколько пользователей, вы можете использовать команду who, чтобы проверить, к чему подключены другие пользователи.

А вы когда-нибудь использовали TTY? Поделитесь своей историей в комментариях ниже.

Оцените?
+1
3
+1
+1
+1
+1
+1
+1
Поделитесь с друзьями
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии