¿Por qué un terminal virtual es "virtual" y qué / por qué / dónde está el terminal "real"?

170

Espero que la pregunta se explique por sí misma.

Mi entendimiento es que gnome-terminaly konsoleson virtuales terminales, y son, básicamente, con la misma finalidad, es decir, un entorno de línea de comandos para varios intérpretes de comandos opcionales. (Ni siquiera estoy seguro de si esa es la forma correcta de verlo).

Asumo que el verdadero terminal es donde estoy transportado a ocasionalmente por los errores de manipulación Ctrl+ Alt+ F1, F2, etc.

Pero "There be Dragons" en el interior de la pantalla en negro, así que salgo de allí tan rápido como puedo presionar Ctrl+ Alt+ F7(aprendí eso en alguna parte: "Cuando todo está negro y oscuro: presiona las teclas secretas para volver :)

  • Es / son el terminal "real" (s) la (s) que existen detrás de los Ctrl+ Alt+ F1, F2, llaves, etc?
  • ¿Y qué es tan "real" acerca de ellos frente a los "virtuales"?
  • ¿Y en qué se diferencian? ¿Es tan simple como "no GUI" vs "GUI"?

¿PS son también "consola" y "terminal"?

Peter.O
fuente
22
No temas a la línea de comando. Puede hacer que su vida sea mucho más fácil para algunas cosas una vez que esté más familiarizado con ella.
Larry Coleman
1
Relacionado: superuser.com/questions/96628/…
Matthew
8
@Larry: Envalentonado por tus palabras, me aventuré en la guarida del dragón (Ctrl + Alt + F1), ¡y en realidad me conecté esta vez! ... Hubo silencio ... pero pude ver mi mensaje de terminal personalizado (desde la tierra de X) ... Interesante, pensé, y me sentí lo suficientemente valiente como para llamar a la bestia: dije "echo $ TERM" ... ¡y he aquí! me habló de nuevo! Decía "linux" ... Inmediatamente me di cuenta de que era primo de "gnome-terminal" y "konsole" y que respondían "xterm". Entonces, después de todo, no es un dragón, sino un terminal virtual. emulando un terminal linux (real).
Peter.O
55
No temas a la consola Linux: es un dragón muy poderoso pero domesticado, y es tu mejor amigo cuando compiz se bloquea;)
MestreLion
Además, puede llamarlo primo gnome-terminal, después de todo, ambos sirven para el mismo propósito. Un primo que no depende de ningún entorno gráfico y está conectado a un dispositivo que le otorga algo más de poder.
MestreLion

Respuestas:

136

Tengo entendido que los terminales virtuales básicamente tienen el mismo propósito: es decir. Un entorno de línea de comandos para varios intérpretes de comandos opcionales.

Esto no es estrictamente cierto. Los terminales virtuales son meramente programas que envían pulsaciones de teclas y reciben salida (esto se denomina Entrada estándar, Salida estándar [y Error estándar]) a un proceso en segundo plano. Este es un sistema básico de entradaprocesamientosalida , y está en el corazón de su sistema operativo.


Un teletipo (o teleimpresor)


Hombre trabajando en una terminal de computadora

Veamos si puedo explicarlo correctamente:

En un sistema similar a Unix como Linux existe el concepto de "todo es un archivo" . Eso significa, por ejemplo, que su unidad de DVD es un archivo (/ dev / sdb1), su teclado es un archivo (/ dev / input / keyboard) y así sucesivamente.

Otro conjunto de esos archivos mágicos son los TTY, donde TTY significa Teletipo. Una máquina de escribir que envía pulsaciones de teclas a una computadora, que a su vez envía letras a la bola de texto . Esto habría representado un dispositivo físico, una máquina de escribir remota, de la misma manera que / dev / lp0 puede representar su impresora.


Un terminal de hardware, el VT100

Las estaciones de trabajo de Teletipo se habrían llamado "Consolas" o "Terminales", un terminal virtual, en lugar de uno real, por lo tanto, cualquier aplicación o maquinaria que proporciona la misma funcionalidad que esta disposición en el lugar de trabajo, que es acceder a la computadora mediante el envío de pulsaciones de teclas hacia él y recibiendo la salida de vuelta, imprimiéndolo en un trozo de papel. Puedes imaginar que un módem funciona de manera muy similar.

Los terminales, como el que se muestra arriba, son computadoras baratas y simples que emulan la funcionalidad de un teletipo. Cuando decimos emulador de terminal en estos días, a su vez, generalmente nos referimos a un programa que emula la funcionalidad de dicha máquina.

Todavía hay sistemas informáticos basados ​​en terminales en uso. De hecho, se están volviendo cada vez más populares . En el pasado, la razón de las terminales era que una computadora en cada escritorio era completamente ridícula, donde las computadoras llenaban una habitación y eran inmensamente caras. Ahora, ahorra dinero y facilita la administración.


un "cliente ligero": el equivalente moderno del VT100

Espero que esto sea útil. Por favor avise a mi si he cometido un error.


¿Eso significa que Control-Alt-F1, F2, etc. también son terminales virtuales, y la única diferencia entre ellos y "gnome-terminal" / "konsole" es que no tienen una GUI?

Sí, básicamente La diferencia entre TTY1-7 y gnome-terminal es que el sistema proporciona los ttys, mientras que gnome-terminal y konsole se ejecutan en un tty (que ejecuta el subsistema gráfico). Esta abstracción se puede anidar aún más profundamente (por ejemplo, reenvío x, usando el protocolo telnet para actuar como terminal, ...), después de todo, la interfaz humano-computadora actúa como cualquier otro archivo. Y se puede canalizar, abstraer y mover de la misma manera.

Stefano Palazzo
fuente
15
¿Fue útil tu respuesta? ...¡¡Absolutamente!! ... muy bien explicado ... Nunca pensé en un teclado como un archivo, pero tiene sentido (un archivo de solo lectura) ... y un "cliente ligero" es un término que he escuchado sobre algunos podcasts, pero se me pasó por la cabeza y pensé que se refería a una nueva arquitectura de CPU (a-la RISC) ... pero en realidad significa que las buenas ideas no desaparecen, y que CICS (o al menos su descendencia) ) sigue vivo y bien ... muy interesante ... Gracias (ahora tengo que leer un poco más ... has comenzado algo :)
Peter.O
19
Esto es un poco aleatorio y no tiene mucho que ver con Linux, pero no obstante: si desea aprender algunos de los conceptos básicos de cómo funciona realmente una computadora, escuche twit.tv/sn - episodios 233, 235, 237, 239 y 241 . Una serie sobre "cómo funcionan las computadoras desde lo básico absoluto", donde básico significa "bajo nivel". No mucha gente sabe esto , es muy divertido.
Stefano Palazzo
1
@TokiTahmid whoops! Corregido, muchas gracias. No fue intencional, solo un error :)
Stefano Palazzo
44
Recuerdo que el VT-100 se consideraba un terminal (de video), no un terminal virtual o un emulador de terminal. Muchos dispositivos que contenían sus propios microprocesadores se consideraban terminales, independientemente de los otros dispositivos que emularan, siempre que estuvieran diseñados para proporcionar entrada y salida directamente a un usuario. Si la interfaz computadora / humano se implementa en un software en un dispositivo que no está dedicado a ser un terminal, yo llamaría a esa interfaz o software un terminal virtual. El propósito del dispositivo general es la diferencia, no la tecnología ni el protocolo de comunicaciones utilizado.
John S Gruber
2
@JohnSGruber Su recuerdo es correcto, el VT100, y sus parientes, son terminales de 'video', para distinguirlos del TTY en papel, la foto superior en esta respuesta. Los tres beneficios de un VT sobre un TTY eran mucho más silenciosos, sin desperdicio de papel (pero sin desplazamiento que no siempre era bueno) y velocidad: el TTY estaba bastante limitado a 110 baudios (10 caracteres / segundo) que los VT podían subir hasta 19.200 baudios, iirc. Más tarde, incluso se les ocurrieron 'terminales inteligentes', un VT con la capacidad de procesar algo de la señal entrante y agregar color al texto, e incluso, por un precio, gráficos.
Gypsy Spellweaver 01 de
14

Bastante seguro de que llamarlo un "terminal virtual" es un retroceso a cuando había terminales físicos conectados a servidores Unix ...

RobotHumanos
fuente
De acuerdo ... Eso tiene sentido ... "en ese entonces" antes de que existiera la multitarea, y la idea misma era abstracta y "virtual" ... Por lo tanto, es la misma idea que una caja de Máquina virtual frente a un hardware " ".
Peter.O
2
¿Eso significa que Control-Alt-F1, F2, etc. también son terminales virtuales, y la única diferencia entre ellos y "gnome-terminal" / "konsole" es que no tienen una GUI?
Peter.O
@ fred.bear: Echa un vistazo a Wikipedia .
Jamie Schembri
virtual porque el extremo de entrada / salida humana del terminal en realidad se conecta a un proceso en ejecución (a través de / dev / pts / *). Los terminales no virtuales son cosas como la consola de texto de Linux (back-end proporcionado por el código del núcleo para convertir las pulsaciones de teclas en caracteres de entrada de terminal y la salida de terminal en caracteres en pantalla, incluido el procesamiento de códigos de escape para color, movimiento del cursor, etc.). O el ejemplo más antiguo de un terminal no virtual, los puertos seriales. Manejo de terminal proporcionado por lo que haya conectado a su puerto serie. Puede arrancar con la consola de texto en un puerto serie.
Peter Cordes
13

Además de las respuestas anteriores, consulte esta explicación completa de los terminales. El TTY, a pesar de su aparente simplicidad, es conceptualmente una parte bastante complicada de Linux.

loevborg
fuente
1
Gracias loevborg. Es un artículo realmente interesante que explica en gran medida la terminología "misteriosa" ... (por ejemplo, un proceso "zombie")
Peter.O