pts(4) Kernel Interfaces Manual pts(4)
NAME
ptmx, pts - pseudoterminal master and slave
DESCRIPTION
The file /dev/ptmx (the pseudoterminal multiplexor device) is a charac-
ter 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 associ-
ated slave, whose path can be found by passing the file descriptor to
ptsname(3).
Before opening the pseudoterminal slave, you must pass the master's file
descriptor to grantpt(3) and unlockpt(3).
Once both the pseudoterminal master and slave are open, the slave pro-
vides processes with an interface that is identical to that of a real
terminal.
Data written to the slave is presented on the master file descriptor as
input. Data written to the master is presented to the slave as input.
In practice, pseudoterminals are used for implementing terminal emula-
tors such as xterm(1), in which data read from the pseudoterminal master
is interpreted by the application in the same way a real terminal would
interpret the data, and for implementing remote-login programs such as
sshd(8), in which data read from the pseudoterminal master is sent
across the network to a client program that is connected to a terminal
or terminal emulator.
Pseudoterminals can also be used to send input to programs that normally
refuse to read input from pipes (such as su(1), and passwd(1)).
FILES
/dev/ptmx, /dev/pts/*
NOTES
The Linux support for the above (known as UNIX 98 pseudoterminal naming)
is done using the devpts filesystem, which should be mounted on
/dev/pts.
SEE ALSO
getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)
Linux man-pages 6.9.1 2024-05-02 pts(4)
Generated by dwww version 1.16 on Mon Dec 8 15:15:35 CET 2025.