- что такое pts / 0 и (: 0.0) в linux при наборе кто я
- Примеры
- шоу -m такое же как am i
- подключен к некоторой удаленной системе
- локально на моем ноутбуке
- whoami против who am i
- Что такое pts/2 и tty* при использовании команды ps
- Что хранится в файлах / dev / pts и можем ли мы их открыть?
- Difference between /dev/tty and /dev/pts (tty vs pts) in Linux
- tty vs pts
- Related Posts
- What is meant by pts/0 and pts/1 in the output of ps -aux?
- 2 Answers 2
что такое pts / 0 и (: 0.0) в linux при наборе кто я
Когда я набираю команду:
Что такое pts / 0 и что означает (: 0.0)?
Он pts/0 сообщает вам, на каком «псевдо-терминале» вошел пользователь. В данном случае это терминал № 0. «(: 0.0)» говорит вам, какое имя хоста и дисплей вы используете.
who am i это псевдоним команды who -m . Смотрите man-страницу для кого . Вы также можете прочитать о who команде здесь .
Вывод может определенно запутать новичка в Unix.
Примеры
шоу -m такое же как am i
подключен к некоторой удаленной системе
локально на моем ноутбуке
Последний бит, который все еще может сбить вас с толку, это :0.0 . Вот как X Windows представляет «дисплей», на котором находится пользователь. Первое «0» указывает, на каком мониторе / устройстве вы находитесь, второе «0» указывает, на каком виртуальном дисплее вы находитесь.
Это восходит к тем дням, когда компьютеры были дорогими, и поэтому несколько человек могли работать на одном компьютере одновременно. Я бы не беспокоился об этом, просто помните, что это будет либо «: 0.0», либо, возможно, «: 0». Переменная окружения «DISPLAY» и команда xhost используют значение «: 0.0».
Подробнее об удаленном отображении в Unix вы можете прочитать здесь .
whoami против who am i
Разве они не одна и та же команда? Нет, они разные
Также их вывод совершенно другой; whoami просто показывает ваш эффективный идентификатор пользователя, а who am i показывает информацию о соединении вашего терминала:
Смотрите whoami страницу руководства здесь .
pts обозначает псевдотерминал раб. Терминал (или консоль) традиционно представляет собой комбинацию клавиатуры и экрана, на которой вы сидите и печатаете. В старых коробках UNIX десятки из них висели сзади, и все они были связаны с милями кабеля. Псевдотерминал предоставляет точно такое же средство только без аппаратного обеспечения. Другими словами, это окно xterm или окно консоли, или любая другая утилита, которую вы используете. Они всплывают в жизни, когда вы их просите и получаете последовательные числа: pts / 0 , затем pts / 1 и так далее. Физическая консоль — это аппаратное обеспечение, которое фактически подключено к вашему устройству — у вас, вероятно, есть только одно. Это помечено » : 0 » и называется фактической «консолью».
вы найдете pts / 0 в списке, who если есть удаленное соединение с ssh :
Я один и единственный на моей машине:
Я подключен с другого компьютера к серверу ssh, поэтому я открыл удаленный терминал:
Источник
Что такое pts/2 и tty* при использовании команды ps
При использовании команд ps и ps -ax выводится колонка с названием TTY. В ней находятся значения pts/2, tty4 и прочие. Что они обозначают и как они могут пригодится администратору? Не связаны ли эти значения как то с файлами /dev/tty* и файлами внутри /dev/pts/ ? Встречал в литературе термин «виртуальный терминал», но так и не понял, что это. Ещё название «tty» встречается, когда открываешь виртуальную консоль. Но я так и не понял взаимосвязь всего этого.
Ты угадал, именно так и связаны.
Это консоль, к которой привязано приложение. Если оно без привязки к консоли (демоны, например), будет ‘?’. tty — это виртуальная консоль линукса (та самая, что по Ctrl-Alt-F1 и далее). pts — это псевдотерминал, как правило — графическая консоль типа gnome-terminal, xterm и т.п.
Не связаны ли эти значения как то с файлами /dev/tty* и файлами внутри /dev/pts/
Анонимус вещает истину. Это они и есть.
Администратору эта колонка скажет, где искать вывод приложения (и ввод тоже, соответственно).
Это управляющий терминал. Думаю, что вам лучше почитать что-нибудь по самой концепции терминала.
tty* это виртуальные консоли, ttyS — последовательные порты. /dev/pts/* это псевдотерминалы. В обычных терминалах есть ядро и есть процесс, работающий с этим терминалом. Процесс читает/пишет данные в /dev/tty*, а ядро помещает туда ввод с клавиатуры и выводит данные на экран. В случае с псевдотерминалом всё, что читает/пишет процесс в /dev/pts/* обрабатывается другим процессом, например sshd или xterm. Ядро просто передаёт данные от одного процесса другому.
Источник
Что хранится в файлах / dev / pts и можем ли мы их открыть?
Насколько мне известно, /dev/pts файлы создаются для сеансов SSH или Telnet.
Ничего не хранится в /dev/pts . Эта файловая система живет исключительно в памяти.
Записи в /dev/pts являются псевдо-терминалами (pty для краткости). Ядра Unix имеют общее понятие терминалов . Терминал предоставляет приложениям способ отображать вывод и получать ввод через оконечное устройство . Процесс может иметь управляющий терминал — для приложения в текстовом режиме он взаимодействует с пользователем.
Терминалы могут быть аппаратными терминалами («tty», сокращенно от «teletype») или псевдо-терминалами («pty»). Аппаратные терминалы подключаются через некоторый интерфейс, такой как последовательный порт ( ttyS0 ,…) или USB ( ttyUSB0 ,…) или через экран компьютера и клавиатуру ( tty1 ,…). Псевдо-терминалы предоставляются эмулятором терминала, который является приложением. Некоторые типы псевдо-терминалов:
- Приложения с графическим интерфейсом, такие как xterm, gnome-terminal, konsole,… преобразуют события клавиатуры и мыши в ввод текста и отображают вывод графически с использованием некоторого шрифта.
- Приложения мультиплексора, такие как экран и релейный ввод и вывод tmux от и к другому терминалу, для отделения приложений текстового режима от реального терминала.
- Приложения удаленной оболочки, такие как sshd, telnetd, rlogind,… ретранслируют вход и выход между удаленным терминалом на клиенте и pty на сервере.
Если программа открывает терминал для записи, вывод этой программы появляется на терминале. Обычно несколько программ выводят на терминал одновременно, хотя иногда это может сбивать с толку, поскольку невозможно определить, какая часть вывода получена от какой программы. Фоновые процессы, которые пытаются записать на свой управляющий терминал, могут автоматически приостанавливаться сигналом SIGTTOU .
Если программа открывает терминал для чтения, ввод от пользователя передается этой программе. Если несколько программ читают с одного терминала, каждый символ направляется независимо к одной из программ; это не рекомендуется. Обычно в данный момент времени с терминала активно читает только одна программа; программы, которые пытаются читать со своего управляющего терминала, пока они не находятся на переднем плане , автоматически приостанавливаются сигналом SIGTTIN .
Чтобы поэкспериментировать, запустите tty терминал, чтобы узнать, что это за терминальное устройство. Скажем так /dev/pts/42 . В оболочке другого терминала запустите echo hello >/dev/pts/42 : строка hello будет отображаться на другом терминале. Теперь запустите cat /dev/pts/42 и введите другой терминал. Чтобы убить эту cat команду (что затруднит использование другого терминала), нажмите Ctrl + C .
Запись в другой терминал иногда полезна для отображения уведомления; например, write команда делает это. Чтение с другого терминала обычно не выполняется.
Источник
Difference between /dev/tty and /dev/pts (tty vs pts) in Linux
Table of Contents
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.
- terminal = tty = text input/output environment
- Teletypewriter originally and now also means any terminal on Linux/Unix systems. It also means any serial port on Unix/Linux systems
- A tty is a regular terminal device (the console on your server, for example).
- tty consoles are managed by systemd in Red Hat Enterprise Linux 7 OS.
- tty consoles are created on-the-fly upon access.
- The allowed number of consoles can be configured in /etc/systemd/logind.conf file.
- Set NAutoVTs= value in this file to desired number to have systemd capable of generating those many tty consoles.
To get the list of open terminals
- This continues upto tty6 i.e. default number of allowed tty consoles are 6
- One can switch from tty1 to tty6 using Ctrl+Alt+F1 on the console
- Below screenshot is from my HP iLO console where you can view the terminal id
- Stands for pseudo terminal slave.
- A pts is the slave part of a pty.
- A pty (pseudo terminal device) is a terminal device which is emulated by an other program (example: xterm, screen, or ssh are such programs).
- /dev/pts contains entries corresponding to devices. /dev/pts is a special directory that is created dynamically by the Linux kernel. The contents of the directory vary with time and reflect the state of the running system.
- The entries in /dev/pts correspond to pseudo-terminals (or pseudo-TTYs, or PTYs).
- In laymen terms the primary difference between TTY and PTS is the type of connection to the computer. TTY ports are direct connections to the computer such as a keyboard/mouse or a serial connection to the device. PTS connections are SSH connections or telnet connections. All of these connections can connect to a shell which will allow you to issue commands to the computer.
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!!
Источник
What is meant by pts/0 and pts/1 in the output of ps -aux?
I am reading the book Unix Power Tools, and came across the ps command. The output of command ps x as given in the book is :
Can someone help in decoding this output? What is meant by pts/0 and pts/1?
- All I could find was that pts stands for «pseudo terminal slave», but couldn’t understand the difference behind pts/0 and pts/1.
- Why is there a «?» in TTY column? Why is the tty unknown for that process?
- What is the meaning of various Gnome applications such as «gnome-pty-helper» and «gnomepager_applet»?
2 Answers 2
- They are different instances of a pseudo terminal. E.g. they are different tabs in a Terminal window.
There is no TTY. This process has detached from the tty. Using the TIOCNOTTY ioctl(), or setsid(). This is traditionally done to become a background process a.k.a. «daemon», which will not automatically be killed by SIGHUP when logging out from a terminal. (If it is a gnome process as in this example, it will likely be expected to terminate by some other mechanism).
Alternatively it may never have had a TTY to start with, as with processes started for a systemd service for example.
Back in the days, terminals were physical devices connected to a serial port each. These show up in UNIX as ‘device files’ in /dev .
You are running Linux, by the looks of your output, and thus there are two different types of ‘virtual’ terminal. The first set are those connected via your display. Linux creates a bunch of them, and you can toggle between them using Ctrl+Alt+Fn . These are tty0 , tty1 , etc.
Then there is the concept of a pseudo terminal. One is required for each ssh session that you use to connect to your system, and one for each (Gnome) X terminal session. These are the ‘pts/n’ names. Search for ‘pseudo terminal’ to learn more.
Thus the above output tells me that: your graphical session is tied to the 2nd virtual terminal ( Ctrl+Alt+F2 ). You have two gnome terminals, pts/0 and pts/1 .
Try opening a new VT using Ctrl+Alt+F1 and log in there, and repeat on terminals 3 and 4. Each time you do this ps -ef will show the processes running with that terminal.
Background processes do not have a terminal attached, and will show ? in the TTY column.
Источник