Posible duplicado:
¿Cuál es la diferencia exacta entre un 'terminal', un 'shell', un 'tty' y una 'consola'?
Siempre veo pts y tty cuando uso el who
comando pero nunca entiendo cómo son diferentes. ¿Alguien puede explicarme esto?
Posible duplicado:
¿Cuál es la diferencia exacta entre un 'terminal', un 'shell', un 'tty' y una 'consola'?
Siempre veo pts y tty cuando uso el who
comando pero nunca entiendo cómo son diferentes. ¿Alguien puede explicarme esto?
Respuestas:
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
, screen
o ssh
son 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:
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).
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.