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 who
comando pero nunca entiendo cómo son diferentes? ¿Puede alguien explicarme esto?
Respuesta aceptada:
Un tty es un dispositivo de terminal nativo, el backend es emulado por hardware o kernel.
Un tipo (dispositivo pseudo terminal) es un dispositivo terminal que es emulado por otro programa (ejemplo:xterm
, screen
o ssh
son tales programas). A puntos es la parte esclava de un pty .
(Se puede encontrar más información en man pty
.)
Resumen breve :
Un tipo es creado por un proceso a través de posix_openpt()
(que normalmente 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 una terminal. Después de alguna 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 deptsname()
) 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.