Noté que hay muchas menciones pty
y, tty
en algunos proyectos de código abierto, ¿alguien podría decirme qué significan y cuál es la diferencia entre ellos? ¡Gracias!
fuente
Noté que hay muchas menciones pty
y, tty
en algunos proyectos de código abierto, ¿alguien podría decirme qué significan y cuál es la diferencia entre ellos? ¡Gracias!
"tty" originalmente significaba "teletipo" y "pty" significa "seudo teletipo".
En UNIX, / dev / tty * es cualquier dispositivo que actúa como un "teletipo", es decir, un terminal. (Llamado teletipo porque eso era lo que teníamos para las terminales en esos días ignorantes).
Una pty es una pseudotty, una entrada de dispositivo que actúa como una terminal para el proceso de lectura y escritura allí, pero que es administrada por otra cosa. Primero aparecieron (según recuerdo) para X Window y pantalla y similares, donde necesitabas algo que actuara como un terminal pero que pudiera usarse desde otro programa.
Ctrl-Alt-F{1..6}
y están conectadas/dev/tty{1..6}
. La consola de Linux no es un terminal físico, pero está conectada a unttyN
(no a unptyN
). ¿Me estoy perdiendo de algo?Un tty es un terminal (significa teletipo : ¡los terminales originales usaban una impresora de línea para la salida y un teclado para la entrada!). Un terminal es básicamente un dispositivo de interfaz de usuario que usa texto para entrada y salida.
Una pty es un pseudo terminal: es una implementación de software que aparece en el programa adjunto como un terminal, pero en lugar de comunicarse directamente con un terminal "real", transfiere la entrada y la salida a otro programa.
Por ejemplo, cuando ssh en una máquina y ejecuta
ls
, ells
comando está enviando su salida a un pseudo-terminal, el otro lado del cual está conectado al demonio SSH.fuente
*nix
el sistema operativo basado crea estos pseudo terminales?sshd
yxterm
son dos ejemplos típicos.tty: teletipo. Por lo general, se refiere a los puertos seriales de una computadora, a los cuales se conectaron terminales.
pty: pseudoteletype. Kernel proporcionó un puerto pseudoserial conectado a programas que emulan terminales, como xterm o screen.
fuente
Si ejecuta el comando mount sin argumentos de línea de comando, que muestra los sistemas de archivos montados en su sistema, notará una línea que se ve así: none en / dev / pts type devpts (rw, gid = 5, mode = 620) Esto indica que un tipo especial de sistema de archivos, devpts, está montado en / dev / pts. Este sistema de archivos, que no está asociado con ningún dispositivo de hardware, es un sistema de archivos "mágico" creado por el Kernel de Linux. Es similar al sistema de archivos / proc
Al igual que el directorio / dev, / dev / pts contiene entradas correspondientes a los dispositivos. Pero a diferencia de / dev, que es un directorio ordinario, / dev / pts es un directorio especial creado dinámicamente por el kernel de Linux. El contenido del directorio varía con el tiempo y refleja el estado del sistema en ejecución. Las entradas en / dev / pts corresponden a pseudo-terminales (o pseudo-TTY o PTY).
Linux crea un PTY para cada nueva ventana de terminal que abre y muestra una entrada correspondiente en / dev / pts. El dispositivo PTY actúa como un dispositivo terminal: acepta la entrada del teclado y muestra la salida de texto de los programas que se ejecutan en él. . Los PTY están numerados y el número PTY es el nombre de la entrada correspondiente en / dev / pts.
Por ejemplo, si el número PTY de la nueva ventana de terminal es 7, invoque este comando desde otra ventana:% echo 'I am a virtual di'> / dev / pts / 7 La salida aparece en la nueva ventana de terminal.
fuente
A
tty
es un físico t erminal- t elet y puerto pe en un ordenador (por lo general un puerto serie).La palabra teletipo es una abreviatura de la máquina de escribir de telégrafo , o dispositivo de teletipo de la década de 1930, un dispositivo electromagnético que reemplazó las máquinas de codificación de telégrafo de las décadas de 1830 y 1840.
TTY - Teletipo de 1930
Una
pty
es una p seudo- t ele Ty pe puerto proporcionado por un equipo núcleo del sistema operativo a los programas de software de conexión que emulan terminales, tales como SSH, xterm, o en la pantalla.PTY: pseudotipo
Una terminal es simplemente la interfaz de usuario de una computadora que usa texto para entrada y salida.
Implementaciones del sistema operativo
Estos utilización p seudo- t ele Ty pe puertos sin embargo, su denominación y las implementaciones se han ido distanciando un poco.
Linux monta un sistema de archivos especial devpts en / dev (la 's' presumiblemente significa s erial) que crea una entrada correspondiente
/dev/pts
para cada nueva ventana de terminal que abra, por ejemplo/dev/pts/0
macOS / FreeBSD también utiliza la estructura de archivos / dev , sin embargo, utilizan una
TTY
convención de nomenclatura numeradattys
para cada nueva ventana de terminal que abra, por ejemplo/dev/ttys002
Microsoft Windows todavía tiene el concepto de un
LPT
puerto para terminales de impresora de línea dentro de su Shell de comandos para la salida a una impresora.fuente