En la década de 1970 teníamos una terminal de hardware con interfaz CUI (interfaz de usuario de caracteres) para entrada / salida.
Ahora, tenemos emuladores de terminal ( Ctrl+ Alt+ Fn) en el mundo Unix / Linux.
En Ubuntu OS, veo siete emuladores de terminal, donde GUI ocupa el séptimo emulador de terminal ( Ctrl+ Alt+ F7).
Por ejemplo, este es mi primer emulador de terminal ( Ctrl+ Alt+ F1)
$ tty
/dev/tty0
¿Por qué Unix / Linux proporciona múltiples emuladores de terminal?
Respuestas:
Por la misma razón, es probable que su emulador de terminal GUI admita pestañas (p. Ej., Terminal GNOME), y si no (p
rxvt
. Ej. ), Entonces, por la misma razón, lanzar una segunda instancia de aplicación de terminal GUI no solo tira la primera al primer plano y sale, obligándote a usar la primera instancia.Rutinariamente uso al menos 3 ventanas de terminal en mi trabajo, y a menudo más:
Editor de texto para el lado del servidor del sistema en el que estoy trabajando
Editor de texto para el lado del cliente del mismo sistema
Ventana de comando para ejecutar el servidor
Raramente necesito un cuarto terminal para ejecutar el programa cliente, ya que generalmente se ejecuta en otro lugar (aplicación web, aplicación GUI nativa, aplicación móvil, etc.), pero si estuviera desarrollando un cliente CLI para mi aplicación de servidor, tendría un terminal separada abierta para ello también.
En el pasado, antes de
sudo
hacerse popular, mantenía unaroot
terminal abierta todo el tiempo.Raramente uso cuadros Unix / Linux interactivamente en la consola sin una GUI en estos días, pero a menudo los ejecuto sin cabeza y accedo a ellos a través de SSH. Mi cliente terminal SSH preferido admite pestañas, configuradas como anteriormente.
Uno de mis proyectos de pasatiempo actuales me obliga a usar un terminal de vidrio antiguo de vez en cuando, lo que significa que ya no tengo múltiples ventanas de terminal, así que finalmente estoy aprendiendo un poco sobre GNU
screen
, un programa que nunca había usado antes, ya que tenía ya sea múltiples terminales de consola o múltiples terminales GUI. Y lo quescreen
hacer? Entre otras cosas, puede configurarlo para darle múltiples terminales virtuales en una sola pantalla, tal como lo hace Linux con Ctrl- Alt- .Fxfuente
Esta es una característica proporcionada por casi todos, si no todos, Unix y Unix les gusta ejecutarse en hardware x86. Curiosamente, las consolas virtuales fueron introducidas por primera vez en un Unix por Microsoft Xenix a principios de los años ochenta, y también estaban disponibles en CP / M concurrente.
Esta característica se integró más tarde en AT&T SVR4 Unix, Solaris y fue prestada por BSD y Linux.
Cuando se introdujeron por primera vez, no había un entorno gráfico disponible para las máquinas que ejecutaban estas implementaciones de Unix. Si bien tener un terminal físico conectado a un servidor central de Unix a través de líneas RS232 era el estándar, conectar múltiples terminales a una PC estándar con Xenix era excesivo si el objetivo era que un solo usuario ejecutara múltiples programas interactivos simultáneamente. Los terminales virtuales proporcionaron una solución elegante y conveniente para ese problema.
Otras implementaciones de Unix luego proporcionaron la misma característica para satisfacer la misma necesidad.
Cuando los entornos gráficos, especialmente X11, se extendieron, poder ver múltiples emuladores de terminal al mismo tiempo en la misma pantalla fue una mejora significativa. Sin embargo, la función de consola virtual generalmente se mantuvo solo porque era conveniente poder cambiar a una consola si el entorno gráfico se congela o no funciona por alguna razón.
Tenga en cuenta que a las utilidades les gusta
screen
ytmux
llegaron mucho más tarde que a los terminales virtuales para generalizar la misma funcionalidad. Su ventaja es que pueden usarse no solo en la consola física local, sino también en cualquier sesión, ya sea local o remota (por ejemplotelnet
,ssh
). Cuando se usan en la consola física, las consolas virtuales siguen siendo útiles, ya que son funcionales en algunas situaciones en las quescreen
/tmux
no puedo ayudar, como si X11 está congelado, o si una ventana ha capturado el foco y no lo libera.La virtualización basada en contenedores, como las zonas de Solaris o Linux LXC, también proporciona un método para conectarse a la consola del contenedor a través
zlogin -C zone
ylxc-console -t 0 -n container
respectivamente.fuente
Supongo que una buena razón para tener emuladores de terminal adicionales es que si hace algo mal en su interfaz gráfica y se vuelve inutilizable, puede cambiar rápidamente a un emulador de terminal y corregir todos los problemas que tiene en la interfaz gráfica. En realidad, esto sucede con bastante frecuencia cuando realiza cambios en su administrador de ventanas u otras funciones de la interfaz gráfica. Supongo que también sería útil tener un par más de terminales, sin embargo, tener 6 overop de la interfaz gráfica principal parece un poco excesivo.
También corrígeme si estoy equivocado, pero ¿no es posible ejecutar múltiples comandos como diferentes usuarios desde un solo emulador de terminal?
fuente
Muchas de las otras preguntas parecen responder por qué se introdujo la función.
Aún así, la pregunta real es:
"hace", no "hizo".
Entonces, centrándonos en la hora actual, aquí hay algunas razones actuales:
Por ejemplo, puedo recordar que Alt-Ctrl-F2 es el editor de texto que mira un archivo de texto (por ejemplo, documentación), y Alt-Ctrl-F3 se usa para mirar rápidamente otro archivo (por ejemplo, un archivo de configuración), y Alt-Ctrl-F4 se usa para un símbolo del sistema, mientras que el escritorio gráfico se puede dividir entre navegación web, correo electrónico, reproductor de música, etc.
En resumen, simplemente no hay muchas razones para no apoyar esto. Hay algunas ventajas que algunas personas aprecian, al menos algunas veces, y no mucho costo.
En realidad, eliminar el soporte para esto puede ser más trabajo que simplemente dejar el soporte allí. Si bien eliminar el soporte probablemente sería simple, si algo falla, entonces identificar y solucionar el problema puede ser un poco difícil. Por lo tanto, la reducción en la cantidad de esfuerzo requerida (para desarrollar la próxima versión de un sistema operativo) es otra razón más para dejar las cosas como están. Eso significa que esta característica es propensa a permanecer disponible.
fuente
Lo primero que ha preguntado es una característica de un núcleo llamado Linux. No de Unix en general, y no de Gnu.
En cuanto a por qué, tendría que preguntar a los autores. Sin embargo, supongo que permite que un administrador de un dispositivo no conectado en red (aquí incluyo un RS232 como tipo de red), inicie sesión y realice algunos trabajos de administración, sin desconectar a otro usuario.
fuente