what is devpts

Applications such as an xterm or sshd simulate a terminal. This works using 2 special files, a pseudo-tty master that the xterm/... writes to and reads from and a pseudo-tty slave that the applications using the simulated terminal (such as the bash running in the xterm) read from and write to. Traditionally you had lots of /dev/files for these. The masters are called ptyp0, ptyp1,... and the slaves are called ttyp0, ttyp1,.... These files make up a significant portion of your /dev tree if you use MAKEDEV generic. This approach is rather dumb because it uses lots of device nodes and restricts the number of pseudo-ttys (and consequentially the number of xterms/ssh sessions/...). There is a better approach, though. It uses a single master multiplexer /dev/ptmx and slaves /dev/pts/ that are created on demand. For this to work devpts filesystem must be mounted at /dev/pts (and devpts must be compiled in the kernel, I think it's called "Unix98 terminal support" or something like this). I think if you use devfs (don't confuse the 2), you don't need devpts anymore, otherwise it's a good idea to include devpts support in your kernel and put devpts in fstab (the LFS book demonstrates how). Then pass 'generic-nopty' to MAKEDEV instead of 'generic'. This will give you a cleaner /dev. All recent versions of xterm,... know how to use the Unix98 pseudo-terminals and unlike devfs devpts is stable

你可能感兴趣的:(what is devpts)