Разница между очками и tty


108

Возможный дубликат:
Какова точная разница между терминалом, оболочкой, tty и консолью?

Я всегда вижу pts и tty, когда использую whoкоманду, но никогда не понимаю, чем они отличаются? Может кто-нибудь, пожалуйста, объясните мне это?


Ответы:


111

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

Псевдотерминал (псевдо оконечное устройство) представляет собой оконечное устройство , которое эмулируется другой программой (например: xterm, screenили sshтакие программы). PTS является ведомой частью PTY .

(Более подробную информацию можно найти в man pty.)

Краткое резюме :

Псевдотерминал создаются с помощью процесса через posix_openpt()(который обычно открывает специальное устройство /dev/ptmx), и образован парой двунаправленных символьных устройств:

  1. Основная часть, которая является файловым дескриптором, полученным этим процессом посредством этого вызова, используется для эмуляции терминала. После некоторой инициализации вторая часть может быть разблокирована unlockpt(), и мастер используется для получения или отправки символов в эту вторую часть (подчиненную).

  2. Подчиненная часть, которая закреплена в файловой системе, поскольку /dev/pts/x(настоящее имя может быть получено через мастер ptsname()) ведет себя как собственное оконечное устройство ( /dev/ttyx). В большинстве случаев запускается оболочка, которая использует ее в качестве управляющего терминала.


Что вы подразумеваете под бэкэндом, это аппаратное обеспечение?
мотивировано


Благодарю. Я полагаю, что это историческая справка, а не современное использование, то есть раньше оно поддерживалось аппаратными средствами.
мотивировано

38

A tty- это обычное терминальное устройство (например, консоль на вашем сервере).
A ptsявляется подчиненным терминалом psuedo ( xtermили sshсоединением).

man pts имеет подробное описание псевдо-терминалов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.