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.