В Linux по умолчанию доступно целых двенадцать так называемых TTY консолей, которые можно использовать для выполнения команд, восстановления системы, запуска Wine или дополнительного X сервера, а также для многого другого.
Сегодня мы разберемся что это за консоли, где они взялись и как выполняется переключение между консолями Linux.
Что такое TTY консоли?
Аббревиатура TTY означает Teletype или телетайп. Чтобы понять откуда это всё взялось, надо немного оглянуться назад, а именно в 1930 год. Тогда были разработаны специальные машины, под названием телетайп, который позволяли отправлять набранные на клавиатуре сообщения в удалённые места. Это был большой шаг для телеграфии, потому что раньше для этих целей использовалась азбука морзе. Сообщения кодировались, передавались, а затем декодировались и печатались на бумаге. Тогда была запатентована специальная система кодирования, которая опередила ASCII на 89 лет. В машинах, использующих эту систему было всего пять клавиш и оператору приходилось запоминать различные сочетания для каждой буквы.
Когда в 1963 году появилась кодировка ASCI, производители телетайпов начали её использовать. После изобретения телефона телетайп стал применяться ещё шире, потому что появилась возможность объединить много машин в одну сеть. Затем из этого всего получился факс в 1980 году.
Компьютеры тоже развивались. Изначально, инструкции туда вводились с помощью специальных перфорированных карточек, однако это было очень долго и неудобно. Всем было нужно устройство, которое позволяло бы вводить инструкции и сразу же получать результат. Телетайп был идеальным кандидатом на место такого устройства ввода/вывода. Здесь было всё. Устройство было разработано для ввода текста, его кодирования, декодирования и отображения. Только теперь на другой стороне должен быть не ещё один телетайп, а компьютер.
Телетайпы начали использовать для управления компьютерами и мейнфреймами. Со временем их вытеснили аппаратные эмуляторы телетайпов, которые уже использовали не бумагу для вывода данных, а электронно-лучевую трубку. Такие устройства давали намного больше возможностей, таких как перемещение курсора по экрану, очистка экрана, редактирование текста и многое другое. Одним из таких виртуальных телетайпов был DEC VT05.
В современных системах, основанных на ядре Linux и других Unix подобных системах, все терминалы представляют из себя виртуальный телетайп. Только теперь телетайп эмулируется программно. Такие терминалы называются псевдо телетайпами (pseudo-teletypes) или PTS.
В Linux есть мультиплексор псевдотерминалов, который обрабатывает подключения ко всем таким PTS. Этот мультиплексор находится в ядре и доступен через файл /dev/ptmx. Каждая из двенадцати консолей, открытых по умолчанию в Linux - это псевдо телетайп устройство, подключённое к этому мультиплексору.
Переключение между TTY консолями
У каждой консоли есть своя горячая клавиша. Это Ctrl+Alt+Fn, где n - это номер консоли от 1 до 12 -ти. Таким образом, чтобы открыть первую консоль следует ввести Ctrl+Alt+F1, вторую - Ctrl+Alt+F2, двенадцатую - Ctrl+Alt+F12 и так далее. Например, откройте третью консоль и авторизуйтесь в ней, затем посмотрите номер псевдотелетайпа:
Как видите, здесь номер устройства /dev/tty3. Аналогично можно открыть шестую, для этого нажмите Ctrl+Alt+F6:
Обычно первая консоль занята менеджером входа в систему, а вторая или седьмая X сервером. Все остальные вы можете использовать в своих целях. Теперь вы знаете что такое TTY консоли, почему они так называются, а также как между ними переключаться.
Статья интереная, спасибо. Вот только вывод от `tty` у меня `/dev/pts/16`.
В целом отличная статья по истории, было интерестно. спасибо! хорошо бы дополнить, как эти горячие клавиши можно переназначить? и дополню что когда перемещаешся по другим не графическим консолям действуют клавиши альт+фн и так даее. ещё бы хорошо бы чтобы вы описали как можно сделать автоматический вход в консоль независимо от графического входа? например вы загрузились и работаете в графической консоле, а паралельно на всякий случай уже автоматически залогинена четвёртая консоль. было бы удобно туда навесить тяжёлые задачи, что-бы не мешались и не падали когда иксы падают. всего доброго.
1830 год?
Хорошо бы еще рассказать что с системными ресурсами происходит, расходуется ли оперативная память и как сильно? Что происходит с консолью, которая была вызвана, но в данный момент не активная и так далее.
Хорошая статья, но не полная.
Ну и было бы интересно знать для чего вообще это нужно, как можно этим воспользоваться, так сказать, в мирных целях
Подскажите пожалуйста, если у меня возникает конфликт по коротким клавишам с приложением, которым я пользуюсь.
Нажимаю Ctrl + Alt + F11 и вместо ожидаемого действия в приложении переключаю консоль.
Можно ли поменять короткие клавиши выбора консоли или вообще отключить ее?
Система Lmde 5 Elsie