Provided by: manpages_6.7-2_all bug

NAME

       ptmx, pts - pseudoterminal master and slave

DESCRIPTION

       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).

       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 provides 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 emulators 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)