Можливий повтор:
Яка точна різниця між 'терміналом', 'оболонкою', 'tty' та 'консоллю'?
Я завжди бачу pts і tty, коли використовую who
команду, але ніколи не розумію, чим вони відрізняються? Чи може мені хтось пояснити це?
Можливий повтор:
Яка точна різниця між 'терміналом', 'оболонкою', 'tty' та 'консоллю'?
Я завжди бачу pts і tty, коли використовую who
команду, але ніколи не розумію, чим вони відрізняються? Чи може мені хтось пояснити це?
Відповіді:
Термінал є рідною кінцевим пристроєм, базовий або апаратний або ядро емулювати.
Псевдотермінал (псевдо термінал) являє собою кінцевий пристрій , яке емулюється іншою програмою (наприклад: xterm
, screen
або ssh
такі програми). PTS є відомою частиною PTY .
(Більше інформації можна знайти в man pty
.)
Короткий підсумок :
Псевдотермінал створюються з допомогою процесу через posix_openpt()
(який зазвичай відкриває спеціальний пристрій /dev/ptmx
), і утворений парою двонапрямлених символьних пристроїв:
Основна частина - дескриптор файлу, отриманий цим процесом за допомогою цього виклику, використовується для емуляції терміналу. Після деякої ініціалізації другу частину можна розблокувати unlockpt()
, а майстер використовується для отримання або відправлення символів до цієї другої частини (підлеглого).
Невідома частина, яка закріплена у файловій системі як /dev/pts/x
(справжнє ім'я може бути отримано майстром через ptsname()
), поводиться як нативний термінальний пристрій ( /dev/ttyx
). У більшості випадків запускається оболонка, яка використовує її як контрольний термінал.