En un sistema Linux, ¿cuál es la diferencia entre /dev/console
, /dev/tty
y /dev/tty0
?
¿Cuál es su uso respectivo y cómo se comparan?
Respuesta aceptada:
De la documentación del Kernel de Linux en Kernel.org:
/dev/tty Current TTY device
/dev/console System console
/dev/tty0 Current virtual console
En los buenos viejos tiempos /dev/console
era la consola del administrador del sistema. Y los TTY eran dispositivos seriales de los usuarios conectados a un servidor.
Ahora /dev/console
y /dev/tty0
representan la pantalla actual y por lo general son los mismos. Puede anularlo, por ejemplo, agregando console=ttyS0
a grub.conf
. Después de eso, su /dev/tty0
es un monitor y /dev/console
es /dev/ttyS0
.
Un ejercicio para mostrar la diferencia entre /dev/tty
y /dev/tty0
:
Cambie a la segunda consola presionando Ctrl +Alt +F2 . Iniciar sesión como root
. Escribe sleep 5; echo tty0 > /dev/tty0
. Pulse Intro y cambie a la tercera consola presionando Alt +F3 .
Ahora regrese a la segunda consola presionando Alt +F2 . Escribe sleep 5; echo tty > /dev/tty
, presione Entrar y cambie a la tercera consola.
Puedes ver que tty
es la consola donde comienza el proceso y tty0
es una consola siempre actual.