Diferencia entre pts y tty

Respuestas:

111

Un tty es un dispositivo terminal nativo, el backend es hardware o kernel emulado.

A pty (pseudo dispositivo terminal) es un dispositivo terminal que está emulado por otro programa (ejemplo: xterm, screeno sshson tales programas). Un pts es la parte esclava de un pty .

(Más información se puede encontrar en man pty.)

Breve resumen :

Un pty es creado por un proceso a través posix_openpt()(que generalmente abre el dispositivo especial /dev/ptmx), y está constituido por un par de dispositivos de caracteres bidireccionales:

  1. La parte maestra, que es el descriptor de archivo obtenido por este proceso a través de esta llamada, se usa para emular un terminal. Después de cierta inicialización, la segunda parte se puede desbloquear con unlockpt(), y el maestro se usa para recibir o enviar caracteres a esta segunda parte (esclavo).

  2. La parte esclava, que está anclada en el sistema de archivos como /dev/pts/x(el maestro puede obtener el nombre real a través de ptsname()) se comporta como un dispositivo terminal nativo ( /dev/ttyx). En la mayoría de los casos, se inicia un shell que lo utiliza como terminal de control.

Stéphane Gimenez
fuente
¿Qué quieres decir con el backend es hardware?
Motivado el
@ Motivado: en.wikipedia.org/wiki/Computer_terminal
Stéphane Gimenez
Gracias. Supongo que es una referencia histórica en oposición al uso contemporáneo, es decir, solía estar respaldado por hardware.
Motivado el
38

A ttyes un dispositivo terminal normal (la consola en su servidor, por ejemplo).
A ptses un esclavo de terminal psuedo (una xtermo una sshconexión).

man pts tiene una descripción detallada de pseudo terminales.

rjewell
fuente