¿Qué es un TTY en Linux? (y cómo usar el comando tty)

Contenidos

Máquina de escribir para teletipo

Lo que hace el tty comando hacer? Imprime el nombre de la terminal que estás usando. TTY significa «teletipo». ¿Cuál es la historia detrás del nombre del comando? Eso necesita un poco más de explicación.

Teleimpresoras del siglo XIX

En las décadas de 1830 y 1840, las máquinas reconocidas como teleimpresores fueron desarrollados. Estas máquinas podrían enviar mensajes mecanografiados «por el cable» a ubicaciones distantes. Los mensajes fueron escritos por el remitente en una especie de teclado. Fueron impresos en papel en el extremo de recepción. Fueron un paso evolutivo en telegrafía, que previamente se había basado en morse y códigos similares.

Los mensajes se codificaron y transmitieron, después se recibieron, decodificaron e imprimieron. Se utilizaron varias técnicas para codificar y decodificar los mensajes. El más famoso y uno de los más prolíficos fue patentado en 1874 por Émile Baudot, para quien el tasa de baudios es nombrado. Su esquema de codificación de caracteres es anterior a ASCII por 89 años.

La codificación de Baudot por último se convirtió en lo más parecido a un estándar en la codificación de teleimpresores, y fue adoptada por la mayoría de los fabricantes. El diseño de hardware original de Baudot tenía solo cinco teclas, equivalente a las teclas de un piano. Se requirió que el operador aprendiera una combinación de teclas particular para cada letra. Para terminar, el sistema de codificación Baudot se acopló a una distribución de teclado tradicional.

Para marcar ese avance, las máquinas se denominaron teletipos. Esto se redujo a teletipos y, por último, a TTY. Por lo tanto ahí es donde obtenemos el acrónimo TTY de, pero ¿qué tiene que ver la telegrafía con la informática?

ASCII y télex

Cuando ASCII llegó en 1963, fue adoptado por los fabricantes de teletipos. Pese a la invención y el uso generalizado del teléfono, los teletipos seguían funcionando con fuerza.

Télex era una red mundial de teletipos que permitía enviar mensajes escritos a todo el mundo. Fueron el principal medio de transmisión de mensajes escritos en el período posterior a la Segunda Guerra Mundial hasta la auge de la máquina de fax de la década de 1980.

Las computadoras además estaban evolucionando. Se estaban volviendo capaces de interactuar con los usuarios en tiempo real y de dar soporte a múltiples usuarios. El antiguo método de trabajo por lotes se volvió insuficiente. La gente no quería esperar 24 horas o más por sus resultados. Hacer pilas de tarjetas perforadas y esperar durante la noche los resultados ya no era aceptable.

Las personas necesitaban un dispositivo que les permitiera ingresar instrucciones y recibir los resultados. La gente quería eficiencia.

El teletipo reutilizado

El teletipo era el candidato perfecto como dispositivo de entrada / salida. Después de todo, era un dispositivo diseñado para permitir que los mensajes se escribieran, codificaran, enviaran, recibieran, decodificaran e imprimieran.

¿Qué le importaba al teletipo si el dispositivo en el otro extremo de la conexión no era otro teletipo? Siempre que hablara el mismo idioma de codificación y pudiera recibir mensajes y enviarlos de vuelta, el teletipo estaba contento.

Y, de todos modos, utilizó un teclado más o menos estándar.

Teletipos emulados por hardware

Los teletipos se convirtieron en el medio predeterminado para interactuar con las grandes computadoras mini y mainframe de esa época.

Para terminar fueron reemplazados por dispositivos que emulado esas máquinas electromecánicas que usan electrónica. Estos tenían Tubos de rayos catódicos (CRT) en lugar de rollos de papel. No temblaron al entregar respuestas desde la computadora. Permitían funciones hasta ahora imposibles, como mover el cursor por la pantalla, eliminar la pantalla, poner texto en negrita, etc.

los DEC VT05 fue un ejemplo temprano de un teletipo virtual, y un antepasado del famoso DEC VT100. Se vendieron millones de DEC VT100.

Teletipos emulados por software

En el entorno de escritorio de Linux y otros sistemas operativos similares a Unix como macOS, la ventana de terminal y aplicaciones como término x y Consola son ejemplos de teletipos virtuales. Pero estos se emulan totalmente en software. Se llaman pseudo-teletipos. Esto se redujo a PTS.

Y ahí es donde tty viene en.

¿Qué puede decirnos tty?

En Linux, hay un multiplexor de pseudo-teletipo que maneja las conexiones de todos los pseudo-teletipos de ventana de terminal (PTS). El multiplexor es el maestro y el PTS son los esclavos. El multiplexor es direccionado por el kernel a través del archivo de dispositivo ubicado en / dev / ptmx.

los tty El comando imprimirá el nombre del archivo de dispositivo que su pseudo-teletipo esclavo está usando para interactuar con el maestro. Y ese, efectivamente, es el número de su ventana de terminal.

Veamos que tty informes para nuestra ventana de terminal:

tty

La solución muestra que estamos conectados al archivo del dispositivo en / dev / pts / 0.

Nuestra ventana de terminal, que es una emulación de software de un teletipo (TTY), está interconectada con el multiplexor pseudo-teletipo como un pseudo-teletipo (PTS). Y resulta ser el número cero.

La opción silenciosa

los -s Causas de la opción (silenciosa) tty para no generar salida.

tty -s

A pesar de esto, produce un valor de salida:

  • 0: si la entrada estándar proviene de un dispositivo TTY, emulado o físico.
  • 1: si la entrada estándar no proviene de un dispositivo TTY.
  • 2: Error de sintaxis, se utilizaron parámetros de línea de comando incorrectos.
  • 3: Se ha producido un error de escritura.

Es probable que esto sea más útil en scripts Bash. Pero, inclusive en la línea de comandos, podemos demostrar cómo ejecutar un comando solo si está ejecutando en una ventana de terminal (una sesión de TTY o PTS).

tty -s && echo "In a tty"

Debido a que estamos ejecutando en una sesión de TTY, nuestro código de salida es 0 y se ejecuta el segundo comando.

El que manda

Otros comandos pueden revelar su número TTY. los who El comando mostrará la información de todos los usuarios registrados, incluido usted mismo.

Alec y Mary están conectados de forma remota a la computadora Linux. Están conectados a PTS uno y dos.

El usuario dave se muestra conectado a “: 0”.

Esto representa la pantalla y el teclado conectados físicamente a la computadora. Aún cuando la pantalla y el teclado son dispositivos de hardware, aún están conectados al multiplexor a través de un archivo de dispositivo. tty revela que es / dev / pts / 2.

who
tty

RELACIONADO: Cómo determinar la cuenta de usuario actual en Linux

Entrar a un TTY

Puede entrar a una sesión TTY de pantalla completa manteniendo presionadas las teclas Ctrl + Alt y presionando una de las teclas de función.

Ctrl + Alt + F3 hará que aparezca el mensaje de inicio de sesión de tty3.

consola tty3

Si inicia sesión y emite el tty comando, verá que está conectado a / dev / tty3.

Este no es un pseudo-teletipo (emulado en software); es un teletipo virtual (emulado en hardware). Está usando la pantalla y el teclado conectados a su computadora, para emular un teletipo virtual como solía hacer el DEC VT100.

Puede utilizar las teclas de función Ctrl + Alt con las teclas de función F3 a F6 y tener cuatro sesiones TTY abiertas si lo desea. A modo de ejemplo, puede iniciar sesión en tty3 y presionar Ctrl + Alt + F6 para ir a tty6.

consola tty6

Para volver a su entorno de escritorio gráfico, presione Ctrl + Alt + F2.

Si presiona Ctrl + Alt + F1, volverá al indicador de inicio de sesión de su sesión de escritorio gráfico.

En un momento, Ctrl + Alt + F1 hasta Ctrl + Alt + F6 abrirían las consolas TTY de pantalla completa, y Ctrl + Alt + F7 lo devolverían a su entorno de escritorio gráfico. Si está ejecutando una distribución de Linux anterior, este podría ser el comportamiento de su sistema.

Esto fue probado en Actual versiones de Manjaro, Ubuntu y Fedora y todos se comportaron así:

  1. Ctrl + Alt + F1: Lo regresa a la pantalla de inicio de sesión del entorno de escritorio gráfico.
  2. Ctrl + Alt + F2: Lo devuelve al entorno de escritorio gráfico.
  3. Ctrl + Alt + F3: Abre TTY 3.
  4. Ctrl + Alt + F4: Abre TTY 4.
  5. Ctrl + Alt + F5: Abre TTY 5.
  6. Ctrl + Alt + F6: Abre TTY 6.

Tener acceso a estas consolas de pantalla completa posibilita a las personas que usan instalaciones de Linux únicamente desde la línea de comandos, y muchos servidores Linux están configurados de esta manera, tener varias consolas disponibles.

¿Alguna vez ha estado trabajando en una máquina Linux con un entorno de escritorio gráfico y algo provocó que su sesión se congelara? Ahora puede saltar a una de las sesiones de la consola TTY para poder intentar rectificar la situación.

Puedes utilizar top y ps para intentar identificar la aplicación fallida, después use kill para terminarlo, o simplemente utilizar shutdown para intentar cerrar con tanta elegancia como lo permita el estado de la computadora.

RELACIONADO: Cómo matar procesos desde la terminal de Linux

Tres pequeñas letras con mucha historia

los tty El comando recibe su nombre de un dispositivo de finales del siglo XIX, apareció en Unix en 1971 y es parte de los sistemas operativos Linux y similares a Unix hasta el día de hoy.

El pequeño dispone de una gran historia detrás de él.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.