5 votos

¿Cuál es la diferencia exacta entre "tty" y "consola"?

Conozco la idea general de la consola, tty como aquí se explica https://unix.stackexchange.com/questions/4126/what-is-the-exact-difference-between-a-terminal-a-shell-a-tty-and-a-con

Pero cuando corre who (usando iTerm2) Tengo estos y no entiendo la diferencia aquí. Por cierto, abro 2 pestañas en el iTerms

ws ➤ who                                                                                                              
qiulang  console  Dec  5 17:47
qiulang  ttys002  Dec  5 17:48
qiulang  ttys004  Dec  6 10:41

2voto

Michael Puntos 193

La consola es su ordenador físico y las diversas tty son terminales virtuales.

Cada pestaña o ventana de un emulador de terminal como iTerm2.app o Terminal.app se conectará a una tty diferente. MacOS funciona igual que esta cita de una de las respuestas en su pregunta vinculada:

Así que cuando miras una "ventana de texto" en tu sistema linux (bajo X11) estás mirando: un emulador de terminales, conectado a un terminal virtual, identificado por un archivo tty, dentro del cual corre un shell.

Está más claro lo que pasa si corres quién con who -a (para mostrar todos los detalles) y si también utiliza el tty (que devuelve el terminal actual).


Un ejemplo

Aquí reinicié a las 13:20, lo dejé en la pantalla de entrada de la contraseña del FileVault hasta las 13:25 y luego abrí un Terminal.app sesión a las 13:29.

Last login: Fri Dec  6 13:25:54 on console
A1398% tty
/dev/ttys000
A1398% 

Puedes ver que el último inicio de sesión fue a las 13:25:54 en la consola (cuando FileVault desbloqueó el disco de inicio) y Terminal.app está funcionando en /dev/ttys000.

A continuación, a las 13:30 abrió un iTerm2.app sesión:

Last login: Fri Dec  6 13:29:06 on ttys000
A1398% tty
/dev/ttys001
A1398% who -a
reboot   ~        Dec  6 13:25   .           1
hali     console  Dec  6 13:25 00:04        97
hali     ttys000  Dec  6 13:29 00:01       577
hali     ttys001  Dec  6 13:30   .         600
   .       run-level 3
A1398% 

Puedes ver que el último inicio de sesión se muestra a las 13:29:06 en ttys000 (cuando Terminal.app fue abierto) y iTerm2.app conectado a las 13:30 a /dev/ttys001.

who -a muestra

  • La consola se conecta a las 13:25 (cuando se introdujo la contraseña y FileVault desbloqueó el disco de inicio).
  • ttys000 conectando a las 13:29 (cuando Terminal.app fue abierto).
  • ttys001 conectando a las 13:30 (cuando esta sesión de iTerm2 fue abierto).

Si te metes en modo de usuario único y el tipo tty verás el resultado /dev/console ( who no está disponible)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X