Provided by: manpages_3.27-1ubuntu2_all bug


       ptmx, pts - pseudo-terminal master and slave


       The  file  /dev/ptmx  is a character file with major number 5 and minor
       number 2, usually of mode 0666 and  of  root.root.   It  is
       used to create a pseudo-terminal master and slave pair.

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

       Before  opening  the  pseudo-terminal slave, you must pass the master's
       file descriptor to grantpt(3) and unlockpt(3).

       Once both the pseudo-terminal 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  descriptor  as
       input.  Data written to the master is presented to the slave as input.

       In  practice,  pseudo-terminals  are  used  for  implementing  terminal
       emulators such as xterm(1), in which data read from the pseudo-terminal
       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 pseudo-terminal
       master is sent across the network to a client program that is connected
       to a terminal or terminal emulator.

       Pseudo-terminals  can  also  be  used  to  send  input to programs that
       normally  refuse  to  read  input  from  pipes  (such  as  su(1),   and


       /dev/ptmx, /dev/pts/*


       The  Linux  support  for the above (known as Unix98 pty naming) is done
       using the devpts file system, that should be mounted on /dev/pts.

       Before this Unix98 scheme, master ptys were called /dev/ptyp0, ...  and
       slave  ptys /dev/ttyp0, ...  and one needed lots of preallocated device


       getpt(3), grantpt(3), ptsname(3), unlockpt(3), pty(7)


       This page is part of release 3.27 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at