¿Por qué UNIX/Linux proporciona múltiples terminales?

¿Por qué UNIX/Linux proporciona múltiples terminales?

En la década de 1970 teníamos un 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 el sistema operativo Ubuntu, veo siete emuladores de terminal, donde la 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?

Respuesta1

¿Por qué UNIX/Linux proporciona múltiples emuladores de terminal [en la consola]?

Por la misma razón, su emulador de terminal GUI probablemente admita pestañas (por ejemplo, Terminal GNOME), y si no (por ejemplo,rxvt), entonces, por la misma razón, al iniciar una segunda instancia de aplicación de terminal GUI no solo se coloca la primera en primer plano y se sale, lo que lo obliga a usar la primera instancia.

Utilizo habitualmente al menos 3 ventanas de terminal en mi trabajo y, a menudo, más:

  1. Editor de texto para el lado del servidor del sistema en el que estoy trabajando

  2. Editor de texto para el lado cliente del mismo sistema.

  3. Ventana de comandos para ejecutar el servidor

Rara vez necesito un cuarto terminal para ejecutar el programa cliente, ya que normalmente 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 que sudose hiciera popular, mantenía una rootterminal abierta todo el tiempo.

Rara vez uso cajas Unix/Linux de forma interactiva en la consola sin una GUI hoy en día, pero a menudo las ejecuto sin cabeza y accedo a ellas a través de SSH. El cliente de terminal SSH de mi elección admite pestañas, configuradas como se indica arriba.

Uno de mis proyectos de hobby actuales.me tiene usando un viejo realterminal de vidrioocasionalmente, lo que significa que ya no tengo múltiples ventanas de terminal, así que finalmente estoy aprendiendo un poco sobreÑUscreen, un programa que nunca antes había usado mucho, ya que tenía múltiples terminales de consola o múltiples terminales GUI. ¿Y qué hace?screen ? Entre otras cosas, puedesconfigúrelo para brindarle múltiples terminales virtualesen una sola pantalla, tal como lo hace Linux con Ctrl- Alt- .Fx

Respuesta2

Esta es una característica proporcionada por casi todos, si no todos, Unix y Unix, como ejecutarse en hardware x86. Curiosamente, las consolas virtuales fueron introducidas por primera vez en 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ó posteriormente en AT&T SVR4 Unix, Solaris y BSD y Linux la tomaron prestada.

¿Por qué UNIX/Linux proporciona múltiples emuladores de terminal?

Cuando se introdujeron por primera vez, no había ningún entorno gráfico disponible para las máquinas que ejecutaban estas implementaciones de Unix. Si bien el estándar era tener una terminal física conectada a un servidor Unix central a través de líneas RS232, 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 ofrecen una solución elegante y cómoda a esa cuestión.

Posteriormente, otras implementaciones de Unix proporcionaron la misma característica para satisfacer la misma necesidad.

Cuando los entornos gráficos, especialmente X11, se extendieron, poder ver varios emuladores de terminal al mismo tiempo en la misma pantalla fue una mejora significativa. Sin embargo, la función de consola virtual se mantuvo en general, aunque solo fuera porque todavía era conveniente poder cambiar a una consola en caso de que el entorno gráfico estuviera congelado o no funcionara por algún motivo.

Tenga en cuenta que a las utilidades les gustan screeny tmuxllegaron mucho más tarde que los terminales virtuales para generalizar la misma funcionalidad. Su ventaja es que pueden usarse no sólo en la consola física local, sino también en cualquier sesión, ya sea local o remota (por ejemplo telnet, ssh). Cuando se usan en la consola física, las consolas virtuales siguen siendo útiles ya que son funcionales en algunas situaciones en las que no screenpuedo tmuxayudar, como si X11 está congelado o si una ventana ha capturado el foco y no lo libera.

La virtualización basada en contenedores como zonas Solaris o Linux LXC también proporciona un método para conectarse a la consola del contenedor a través de zlogin -C zoney lxc-console -t 0 -n containerrespectivamente.

Respuesta3

Supongo que una buena razón para tener emuladores de terminal adicionales es que si haces algo mal en tu interfaz gráfica y queda inutilizable, puedes cambiar rápidamente a un emulador de terminal y corregir todos los problemas que tengas en la interfaz gráfica. En realidad, esto sucede con bastante frecuencia cuando realiza cambios en su administrador de ventanas u otras características de la interfaz gráfica. Supongo que también vendría bien tener un par de terminales más, sin embargo tener 6 encima de la interfaz gráfica principal me parece un poco excesivo.

Corríjame también si me equivoco, pero ¿no es posible ejecutar varios comandos como usuarios diferentes desde un único emulador de terminal?

Respuesta4

Lo primero que ha preguntado es una característica de un kernel llamado Linux. No de Unix en general, ni de Gnu.

En cuanto a por qué, habría que preguntar a los autores. Sin embargo, supongo que permite que un administrador de un dispositivo que no está conectado a la red (aquí incluyo un RS232 como un tipo de red) inicie sesión y realice algún trabajo administrativo, sin cerrar la sesión de otro usuario.

información relacionada