что такое pts 0 linux

Что такое TTY в Linux? (и как использовать команду tty)

Что делает команда tty? Она печатает имя терминала, который вы используете. TTY означает «телетайп» (teletypewriter). Какая история стоит за названием команды? Это требует немного большего объяснения.

Телепринтеры 1800-х годов

В 1830-х и 1840-х годах были разработаны машины, известные как телетайпы. Эти машины могли отправлять печатные сообщения «по проводам» в отдалённые места. Сообщения были набраны отправителем на своего рода клавиатуре. У получателя они печатались на бумажке. Они были эволюционным шагом в телеграфии, которая раньше полагалась на коды Морзе и подобные.

Сообщения кодировались и передавались, затем принимались, декодировались и печатались. Для кодирования и декодирования сообщений использовалось несколько методов. Самый известный и один из самых плодотворных был запатентован в 1874 году Эмилем Бодо, в честь которого названа скорость передачи. Его схема кодирования символов предшествовала ASCII на 89 лет.

Кодирование Бодо в конечном итоге стало наиболее близким к стандарту кодирования телетайпов, и его приняли большинство производителей. В оригинальной конструкции Бодо было всего пять кнопок, похожих на клавиши пианино. Оператор должен был выучить определённую комбинацию клавиш для каждой буквы. В конце концов, система кодирования Бодо была объединена с традиционной раскладкой клавиатуры.

Чтобы выделить это достижение, машины были названы teletypewriters. Это название сокращено до teletypes и, в конечном итоге, до TTY. Отсюда мы и получили аббревиатуру TTY, но какое отношение телеграфия имеет к компьютерам?

ASCII и Telex

Когда в 1963 году появился ASCII, он был принят производителями телетайпов. Несмотря на изобретение и широкое распространение телефона, телетайпы все ещё были популярны.

Телекс — это всемирная сеть телетайпов, позволяющая отправлять письменные сообщения по всему миру. Они были основным средством передачи письменных сообщений в период после Второй мировой войны до бума факсимильных аппаратов в 1980-х годах.

Компьютеры тоже развивались. Они стали способны взаимодействовать с пользователями в режиме реального времени и поддерживать нескольких пользователей. Старый пакетный метод работы стал недостаточным. Люди не хотели ждать результатов 24 часа или дольше. Изготовление стопок перфокарт и ожидание результатов в течение ночи было неприемлемо.

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

Телетайп перепрофилирован

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

Какое дело телетайпу, если устройство на другом конце соединения не было другим телетайпом? Пока он говорил на одном языке кодирования и мог получать сообщения и отправлять сообщения обратно, телетайп был счастлив.

И, конечно же, использовалась более-менее стандартная клавиатура.

Аппаратно эмулированные телетайпы

Телетайпы стали стандартным средством взаимодействия с большими мини-компьютерами и мэйнфреймами той эпохи.

В конечном итоге они были заменены устройствами, имитирующими эти электромеханические машины с использованием электроники. У них были электронно-лучевые трубки (ЭЛТ) вместо бумажных рулонов. Они не дрожали при ответах с компьютера. Они допускали невозможные до сих пор функции, такие как перемещение курсора по экрану, очистка экрана, выделение текста жирным шрифтом и т. д.

DEC VT05 был ранним примером виртуального телетайпа и предком знаменитого DEC VT100. Были проданы миллионы DEC VT100.

Программно-эмулированные телетайпы

В среде рабочего стола Linux и других Unix-подобных операционных систем, таких как macOS, окно терминала и приложения, такие как x-term и Konsole, являются примерами виртуальных телетайпов. Но они полностью эмулируются программно. Их называют псевдотелетайпами. Это было сокращено до PTS.

И здесь на помощь приходит tty.

Что может нам сказать tty?

В Linux есть мультиплексор псевдотелетайпа, который обрабатывает соединения от всех псевдотелетипов окон терминала (PTS). Мультиплексор является ведущим, а PTS — ведомыми. Мультиплексор адресуется ядром через файл устройства, расположенный в /dev/ptmx.

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

Посмотрим, какие отчёты tty для нашего окна терминала:

Ответ показывает, что мы подключены к файлу устройства по адресу /dev/pts/2.

Наше окно терминала, которое представляет собой программную эмуляцию телетайпа (TTY), взаимодействует с мультиплексором псевдотелетайпа как псевдотелетайп (PTS). И его номер два.

Тихий вариант

Параметр -s (без вывода сообщений) заставляет tty не генерировать вывода.

Однако он даёт выходное значение:

Это, вероятно, будет наиболее полезно в сценариях Bash. Но даже в командной строке мы можем продемонстрировать, как выполнить команду, только если вы работаете в окне терминала (TTY или сеанс PTS).

Поскольку мы работаем в сеансе TTY, наш код выхода равен 0, и выполняется вторая команда.

Команда who

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

Алек и Мэри удаленно подключены к компьютеру с Linux. Они подключены к PTS один и два.

Пользователь dave показан как подключенный к «:0». Это экран и клавиатура, физически подключённые к компьютеру.

Несмотря на то, что экран и клавиатура являются аппаратными устройствами, они всё равно подключены к мультиплексору через файл устройства. tty показывает, что это /dev/pts/2.

Доступ к телетайпу

Вы можете получить доступ к полноэкранному сеансу TTY, удерживая клавиши Ctrl+Alt и нажав одну из функциональных клавиш.

Ctrl+Alt+F3 вызовет приглашение входа на tty3.

Если вы войдёте в систему и введёте команду tty, вы увидите, что подключены к /dev/tty3.

Это не псевдотелетайп (эмулируемый в программном обеспечении); это виртуальный телетайп (эмулируемый аппаратно). Он использует экран и клавиатуру, подключённые к вашему компьютеру, для имитации виртуального телетайпа, как это делал DEC VT100.

Вы можете использовать функциональные клавиши Ctrl+Alt с функциональными клавишами от F3 до F6 и при желании открыть четыре сеанса телетайпа. Например, вы можете войти в tty3 и нажать Ctrl+Alt+F6, чтобы перейти на tty6.

Чтобы вернуться в графическую среду рабочего стола, нажмите Ctrl+Alt+F2.

Нажав Ctrl+Alt+F1, вы вернётесь в окно входа в систему в сеансе графического рабочего стола.

Сочетания клавиш Ctrl+Alt+F1 до Ctrl+Alt+F6 откроются полноэкранные консоли TTY, а Ctrl+Alt+F7 вернёт вас в графическую среду рабочего стола. Такое поведение может быть на более старых дистрибутивах Linux.

Это было протестировано на текущих выпусках Manjaro, Ubuntu и Fedora, и все они вели себя следующим образом:

У Kali Linux графический интерфейс открывается при нажатии Ctrl+Alt+F7.

Наличие доступа к этим полноэкранным консолям позволяет людям, использующим установки Linux только из командной строки — а многие серверы Linux настроены таким образом — иметь несколько доступных консолей.

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

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

Три маленьких буквы с большой историей

Команда tty получила своё название от устройства конца 1800-х годов, появилось в Unix в 1971 году и по сей день является частью Linux и Unix-подобных операционных систем.

Источник

What is the difference between **pts** and **tty** and **:0**?

Please help me to distinguish pts from gui mode generated from tty.

booting to multi-user.target

Why is the output of who not this instead?

My confusion after the explanation by Kusalananda

This says that the tty here is a pts, I think.

booting to graphical.target

What is the difference between pts and tty and :0?

3 Answers 3

Use the w command to show information about the users currently logged into the machine and on what terminal they are doing what on.

pts = «pseudo terminal slave»: login device when connecting through the network or a console (e.g. ssh).

tty = «teletype»: serial or console connections (text mode)

:0 = «local:display #0«: X11 server, used for graphical login (e.g. gdm)

Do as booting to graphical.target way.

2.pts
pts means pesudo tty slave which is used with the pseudo terminal master. To get the pts structure of telnet session from web page

in Figure 4: Description of a telnet session.

When bash (ps,grep) run on Xorg in my example,the pts structure is smoething like the below graph(enlightened by R.Koula,author of Description of a telnet session)

The controlling terminal for bash(ps,grep) is pts/0.

Источник

Русские Блоги

Понимание dev / console, tty, pts, ttySn под Linux

устройство разработчика

В зависимости от того, соответствует ли он физическому лицу:

Независимо от типа устройства в каталоге dev есть соответствующий файл (узел), и каждый файл устройства должен иметь старший / младший номер устройства. Устройства с одинаковым основным номером устройства являются аналогичными устройствами и используют один и тот же драйвер (хотя Текущее ядро ​​позволяет нескольким драйверам использовать один основной номер устройства, но большинство устройств по-прежнему следуют принципу, согласно которому один драйвер соответствует одному основному номеру устройства). Вы можете просмотреть основной номер загруженного в данный момент драйвера устройства с помощью команды cat / proc / devices.

Происхождение номера устройства
Управление устройствами Linux тесно интегрировано с файловой системой, и различные устройства хранятся в виде файлов в каталоге / dev, называемых файлами устройств. Приложение может открывать, закрывать, читать и записывать эти файлы устройства и завершать работу устройства, как при работе с обычным файлом данных. Для управления этими устройствами система нумерует устройства, и каждый номер устройства делится на старший номер устройства и младший номер устройства. Главный номер устройства используется для различения разных типов устройств, а младший номер устройства используется для различения нескольких устройств одного типа.

Чтобы приложение различало тип управляемого устройства, ядро ​​использует старший номер устройства. Когда имеется несколько устройств одного типа, для выбора одного из них драйвер устройства использует младший номер устройства.
Блочные устройства имеют области выделения, называемые разделами. Например, жесткий диск физически является устройством. С точки зрения ядра жесткий диск разделен на несколько разделов, и эти разделы образуют файловую систему. В этом случае младший номер устройства указывает как устройство, так и раздел.

Все устройства, распознаваемые ядром, записываются в дерево исходных текстов.Documentation/admin-guide/devices.txtпод.

Взаимосвязь и различие между Console, tty, pts

Источник

Difference between /dev/tty and /dev/pts (tty vs pts) in Linux

What is the difference between /dev/pts and /dev/tty. What is /dev/tty and /dev/pts. Why do I get /dev/pts instead of /dev/tty on my Linux terminal. TTY vs PTS. /dev/tty vs /dev/pts. What is the difference between /dev/pts and /dev/pty.

tty vs pts

In the article I will give you a brief overview on the difference between /dev/tty and /dev/pts i.e. tty vs pts in Linux.

To get the list of open terminals

Lastly I hope the steps from the article to understand the difference between tty and pts i.e. tty vs pts on Linux was helpful. So, let me know your suggestions and feedback using the comment section.

Related Posts

Didn’t find what you were looking for? Perform a quick search across GoLinuxCloud

If my articles on GoLinuxCloud has helped you, kindly consider buying me a coffee as a token of appreciation.

For any other feedbacks or questions you can either use the comments section or contact me form.

Thank You for your support!!

Источник

Что хранится в файлах / dev / pts и мы можем их открыть?

По моим сведениям, файлы /dev/pts создаются для сеансов ssh или telnet.

В /dev/pts ничего не хранится. Эта файловая система живет исключительно в памяти.

Запись на другой терминал иногда бывает полезной для отображения уведомления; например, команда write делает это. Чтение с другого терминала обычно не выполняется.

Псевдо-ttys также помещают слой косвенности в те потоки байтов. Ядро может проверять байты для специальных значений, таких как «Control-C» или «Control-D» или «Control-U» (все они настраиваются, см. man stty и отправляют SIGINT, устанавливают конец файла на stdin, или стереть строку на входе. Там есть также функция буферизации, поэтому мой «ничего не хранит» не так, но только на несколько килобайт.

Ядро может проверять байтовые значения на выходе и делать такие вещи, как преобразовать новую строку (ASCII-перевод строки) в два байта, возврат каретки и перевод строки или любые другие байты, которые требуются для аппаратного обеспечения последовательного терминала. Косвенность псевдо-tty означает независимость от аппаратного обеспечения.

Linux и много Unixes имеют псевдо-ttys. В плане 9 нет. Pseudo-ttys – это немного реликвия, оставшаяся со времен аппаратных терминалов с последовательным подключением.

Вы можете открыть их в виде файлов, хотя это не имеет большого значения. Чтобы связать узел /dev/pts вашей оболочкой, используйте tty :

Теперь переключитесь на другую консоль и попробуйте:

Умная. Теперь попробуйте:

Затем попробуйте использовать оболочку в / dev / pts / 4. Вы застряли, пока не выйдете из cat на другой стороне, но большая часть того, что вы набираете на очках / 4, пройдет (например, пробуя «мир привет». Я закончил с hl на pts / 4 и ello word на cat консоли ).

Мое предположение заключается в том, что устройство принимает входные данные из оболочки и выводит его через систему, а это то, как материал заканчивается на экране – оболочка не имеет дело с оборудованием, система. Попробуйте strace bash (и посмотрите на man strace если вы не знаете, что это такое); вы получаете предварительный шквал вызовов, когда начинается bash. Теперь запустите клавиши:

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • что такое ptr в программировании
  • Что такое provider в программировании
  • что такое program в автозагрузке windows 10
  • что такое program manager в windows 10
  • что такое production в программировании

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии