Что делает команда tty в Linux? Он отображает имя терминала, который вы используете.
Происхождение Linux tty
Каково происхождение термина «tty»? Ну, это немного сложнее объяснить…
Телетайпы из прошлого
В 1830-х и 1840-х годах были разработаны машины, называемые телетайпами. Эти устройства могли передавать напечатанные сообщения «по проводам» в другие места. Отправитель использовал устройство, похожее на клавиатуру, для набора сообщения, и оно было напечатано на бумаге на принимающей стороне. Они были эволюционным шагом в телеграфии, которая ранее зависела от Морзе.
Сообщения шифровались и отправлялись, затем расшифровывались и распечатывались. Они были закодированы с использованием различных методов. Самый известный, а также один из самых плодовитых, был запатентован в 1874 г. Эмиль Бодо, в честь которого названа «скорость передачи». Его метод кодирования символов предшествовал ASCII на 89 лет.
Кодирование Бодо в конечном итоге стало стандартом де-факто для кодирования телетайпов и было принято большинством производителей. Первоначальный аппаратный дизайн Бодо состоял всего из пяти клавиш, как у фортепиано. Для каждой буквы оператор должен был запомнить определенную последовательность клавиш. Система кодирования Бодо позже была связана с традиционной раскладкой клавиатуры.
В ознаменование этого прогресса машины были названы телетайпами. Слово «телетайпы» было сокращено до TTY, что в конечном итоге стало его общим названием. Так что там с телеграфией и компьютерами?
ASCII и телекс
Производители телетайпов приняли его в 1963 году, и он стал отраслевым стандартом для передачи текста. Несмотря на изобретение и широкое использование телефона, телетайпы все еще были распространены.
Телекс был всемирной сетью телетайпов, которая позволяла отправлять письменные сообщения по всему миру. Это было основное средство отправки письменной информации в период после Второй мировой войны, вплоть до бума факсимильных аппаратов в 1980-х годах.
Компьютеры также совершенствовались. Они смогли взаимодействовать с конечными пользователями в режиме реального времени и оказать поддержку многим людям. Старый пакетный подход к работе оказался недостаточным. Люди не хотели ждать результатов 24 часа или больше. Делать стопки перфокарт и ждать результатов всю ночь было уже неприемлемо.
Появление компьютеров и развитие новой технологии создали потребность в программном обеспечении, которое позволило бы пользователям отправлять и получать данные. Мы хотели эффективности.
Телетайп перепрофилирован
Телетайп был идеальным кандидатом на роль устройства ввода-вывода, потому что это была машина, которая позволяла печатать, кодировать, передавать, получать, декодировать и печатать сообщения.
Телетайпу было все равно, не является ли устройство на другом конце связи другим телетайпом. Телетайп был в порядке, пока он говорил на том же языке кодирования. В нем использовалась более-менее стандартная клавиатура с немного измененной раскладкой.
Телетайпы с аппаратной эмуляцией
Телетайпы стали де-факто способом взаимодействия с большими мини-компьютерами и мейнфреймами той эпохи, заменив телеграфные машины.
В конечном итоге они были вытеснены устройствами, которые имитировали их с помощью электроники, с электронно-лучевыми трубками (ЭЛТ) вместо бумажных рулонов. Они не дрожали, когда отвечали с компьютера. Они включили ранее невозможные функции, такие как перемещение курсора по экрану, очистка экрана и выделение текста жирным шрифтомсреди прочего.
DEC VT05 был ранним виртуальным телетайпом, а его потомком стал знаменитый DEC VT100. DEC VT100 был продан миллионами единиц.
Программно эмулированные телетайпы
Окно терминала и такие приложения, как x-term и Konsole, являются виртуальными телетайпами в среде рабочего стола Linux и других Unix-подобных операционных системах, таких как macOS. Однако они полностью смоделированы. Их называют фальшивыми телетайпами. Аббревиатура была сокращена до PTS.
И здесь на помощь приходит команда Linux tty.
Говоря о MacOS, хотели бы вы установить Linux на свой iPad?
Что может tty делать в Linux?
В Linux есть «мультиплексор псевдотелетайпа», который обрабатывает все соединения PTS окна терминала. Мастер — это мультиплексор, а PTS — его ведомые устройства. Ядро взаимодействует с мультиплексором через свой файл устройства в /dev/ptmx.
Команда tty напечатает имя файла устройства, которое ваш ведомый псевдотелетайп использует для взаимодействия с ведущим. И это, по сути, номер вашего окна терминала.
Давайте посмотрим, что сообщает tty Linux:
tty
Ответ показывает, что мы подключены к файлу устройства в /dev/pts/0.
Окно терминала, которое является программной имитацией телетайпа, связано с мультиплексором псевдотелетайпа как PTS. И это ноль.
Бесшумный вариант
Параметр -s (тихий) заставляет tty не генерировать вывод.
tty -s
Он создает выходное значение, если:
0: если стандартный ввод поступает с устройства TTY, эмулированного или физического.
1: если стандартный ввод не поступает с устройства TTY.
2: Синтаксическая ошибка, использовались неверные параметры командной строки.
3: Произошла ошибка записи.
Это будет наиболее полезно в сценариях Bash. Однако даже в командной строке мы можем показать вам, как выполнить команду, если вы находитесь в окне терминала (сеанс TTY или PTS).
tty -s && echo "In a tty"
Поскольку мы работаем в сеансе TTY, наш код выхода равен 0, и выполняется вторая команда.
Связанный: вам нужно проверить эти 189 команд терминала Linux
Кто командует
Команда «кто» выведет список всех зарегистрированных пользователей. User2 и User3 удаленно подключены к компьютеру Linux. Они подключены к PTS один и два. User1 показан как подключенный к «:0». Файл устройства экрана и клавиатуры подключается к мультиплексору компьютера. Хотя экран и клавиатура являются аппаратными устройствами, они по-прежнему связаны с мультиплексором через файл устройства. tty указывает, что это /dev/pts/2.
who
Доступ к телетайпу
Удерживая нажатыми клавиши Ctrl+Alt и нажимая одну из функциональных клавиш, вы можете получить доступ к полноэкранному сеансу TTY. Ctrl+Alt+F3 вызовет приглашение для входа в tty3. Если вы войдете в систему и введете команду tty, вы увидите, что вы подключены к /dev/tty3.
Это не фальшивый телетайп (эмулированный в программном обеспечении); это виртуальный телетайп (эмулируемый аппаратно). Он эмулирует виртуальный телетайп, такой как DEC VT100, с экраном и клавиатурой, подключенными к вашему компьютеру. При желании вы можете установить четыре сеанса Linux TTY, используя функциональные клавиши с комбинацией Ctrl+Alt. Например, если вы выбрали эту опцию и вошли в систему tty3, нажмите Ctrl+Alt+F6, чтобы перейти к tty6.
Чтобы вернуться к графической среде рабочего стола, нажмите Ctrl+Alt+F2. Если вы используете графическую среду рабочего стола, нажатие Ctrl+Alt+F1 вернет вас на экран входа в сеанс сеанса графического рабочего стола. Полноэкранные консоли Linux TTY доступны одновременно с помощью клавиш Ctrl+Alt+F1 до Ctrl+Alt+F6, а вернуться в графическую среду рабочего стола можно с помощью Ctrl+Alt+F7. Если вы используете более старый дистрибутив Linux, это может работать для вас.
Это было протестировано на текущих выпусках Manjaro, Ubuntu и Fedora, и все они вели себя следующим образом:
Ctrl+Alt+F1: возвращает вас к экрану входа в графическую среду рабочего стола.
Ctrl+Alt+F2: возвращает вас в графическую среду рабочего стола.
Ctrl+Alt+F3: открывает телетайп 3.
Ctrl+Alt+F4: открывает телетайп 4.
Ctrl+Alt+F5: открывает телетайп 5.
Ctrl+Alt+F6: открывает TTY 6.
Доступ к этим полноэкранным консолям позволяет пользователям использовать установки Linux только из командной строки, и многие серверы Linux настроены таким образом, чтобы иметь доступ к многочисленным консолям.
Вы когда-нибудь работали в системе Linux с графическим пользовательским интерфейсом, и что-то зависало в вашей сессии? Теперь вы можете перейти к одному из сеансов консоли TTY, чтобы попытаться решить проблему.
Использовать top
и ps
искать сбойное приложение, а затем завершить его с помощью kill или просто закрыть как можно более изящно.
3 маленькие буквы с длинной историей
Команда Linux tty получила свое название от устаревшего устройства конца 1800-х годов, которое впервые было использовано в Unix в 1971 году, и до сих пор является частью Linux и других Unix-подобных операционных систем. У этого маленького парня целая история.