pts(4)

ИМЯ
ptmx, pts - основной и подчинённый псевдо-терминал

ОПИСАНИЕ
The file /dev/ptmx (the pseudoterminal multiplexor device) is a character file with major number 5 and minor number 2, usually with mode 0666 and ownership root:root. It is used to create a pseudoterminal master and slave pair.

When a process opens /dev/ptmx, it gets a file descriptor for a pseudoterminal master and a pseudoterminal slave device is created in the /dev/pts directory. Each file descriptor obtained by opening /dev/ptmx is an independent pseudoterminal master with its own associated slave, whose path can be found by passing the file descriptor to ptsname(3).

Перед открытием подчинённого псевдо-терминала вы должны передать дескриптор файла основного терминала в grantpt(3) и unlockpt(3).

Когда основной и подчинённый псевдо-терминалы будут открыты, подчинённый предоставляет процессам интерфейс, идентичный обычному терминалу.

Данные, записываемые на подчинённый терминал, появляются у файлового дескриптора основного терминала как входные данные. Данные, записываемые на основной терминал, появляются на подчинённом терминале в виде входных данных.

На практике, псевдо-терминалы используются для реализации эмуляторов терминала, таких как xterm(1), где данные, считываемые с основного псевдо-терминала, интерпретируются приложениями в том же виде, как и данные с обычного терминала, а также в программах, реализующих удалённый доступ, таких как sshd(8), где данные, считываемые с основного псевдо-терминала, отправляются по сети в программу-клиент, подключённую к терминалу или эмулятору терминала.

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

ФАЙЛЫ
/dev/ptmx, /dev/pts/*

ЗАМЕЧАНИЯ
Поддержка в Linux для всего вышеперечисленного (т.н. именование псевдо-терминалов UNIX 98) осуществляется через файловую систему devpts, которая монтируется к /dev/pts.

СМ. ТАКЖЕ
getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)

ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>, kogamatranslator49 <r.podarov@yandex.ru>, Kogan, Max Is <ismax799@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 (https://www.gnu.org/licenses/gpl-3.0.html) или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.