Cómo usar el multiplexor de terminal de pantalla en Linux

Contenidos

Cómo usar la utilidad GNU Screen en Linux

¿Quiere ejecutar varias sesiones de pantalla virtual desde una única consola de terminal? ¿O evitar las caídas de la conexión a Internet al terminar la sesión de la consola a través de SSH? Si es así, dé la bienvenida al multiplexor de terminal GNU Screen a su conjunto de herramientas hoy mismo.

Uso de la utilidad de pantalla GNU

La utilidad GNU Screen para Linux es un multiplexor de pantalla versátil que le posibilita iniciar múltiples sesiones de pantalla virtual (piense en ellas como ventanas de consola adicionales) desde su sesión de terminal actual.

Comenzar es fácil. Puede instalar la herramienta GNU Screen usando sudo apt install screen en la línea de comando de su terminal:

Instalación de la pantalla GNU

Si está usando un sistema operativo basado en RedHat / RPM, sustituya `apt` por` yum` en el comando anterior.

Para abrir una nueva consola virtual, ahora puede simplemente escribir screen y presione enter, que le presentará una pantalla de bienvenida:

Pantalla de bienvenida de la pantalla GNU

Simplemente presione la barra espaciadora o regrese para cerrar la pantalla de bienvenida. El símbolo del sistema parecerá regresar, pero en realidad, ahora se encuentra dentro de una sesión de pantalla virtual. Piense en ello como una sesión de terminal alternativa, que se ejecuta dentro de la sesión de terminal anterior.

Una de las mejores cosas de la pantalla GNU es que inclusive si la sesión del terminal principal / padre fallara o se bloqueara de alguna manera (a modo de ejemplo, debido a una conexión de red perdida), e inclusive cuando cierra o termina la sesión del terminal principal / padre, esto ¡La sesión de pantalla permanecerá activa y en funcionamiento!

Es fácil chequear si estamos hoy en día dentro de una sesión de pantalla o no:

Comprobando si esta es una sesión de pantalla GNU o no

Esta declaración if prueba si el $STY la variable está establecida o no. Si el $STY se establece la variable de entorno, entonces esta es una sesión de pantalla.

Entonces, ¿cómo volvemos a nuestra sesión principal / terminal principal? Esto se puede hacer usando una combinación de teclado que la pantalla GNU escuchará en segundo plano. Simplemente presione CTRL + A> CTRL + D. No importa si suelta o no la tecla CTRL mientras lo hace.

Verá algo equivalente a esta salida:

Salir de una sesión de pantalla GNU

Esto además nos dice que solo nos hemos desconectado de la sesión de pantalla virtual de GNU; no ha terminado y, si queremos, podemos conectarnos de nuevo a ella. Inclusive si por alguna razón la sesión principal / padre se hubiera cerrado, la sesión de la pantalla virtual no habría terminado y podemos volver a conectarnos a ella.

Para volver a conectarnos a la sesión, podemos emitir un comando simple:

Reconectarse a una sesión de pantalla GNU

Confirmar este comando simplemente nos devolverá a la sesión de pantalla virtual que teníamos en ejecución. Observe que usamos el ID de procedimiento relevante (como se informó cuando nos separamos de la sesión de pantalla) para volver a conectar con la sesión de pantalla virtual. Esto además aclara de inmediato cómo podemos iniciar una cantidad indefinida de sesiones de pantalla (aún cuando cada una consumirá una cierta cantidad de recursos) y conectarnos a la que queramos usando el screen -d -r mando.

Podemos leer más sobre las alternativas que usamos para este comando en el manual en línea de la pantalla:

Opciones de clarificación manual de pantalla r y d

Para obtener una descripción general más extensa de la pantalla y sus muchas funcionalidades, puede usar el man screen mando:

GNU Screen Linux manual

Si queremos ver una lista de las sesiones de pantalla que se están ejecutando en la máquina en este momento, podemos emitir un screen -list mando:

Lista de pantallas GNU

Tenga en cuenta cómo la sesión se informa como ‘Separada’ o ‘Adjunta’ dependiendo de si aún está conectado con ella en algún lugar o no.

A veces, es factible que desee desplazarse hacia atrás dentro de una sesión de pantalla, a modo de ejemplo, cuando se generaron más líneas de salida que la cantidad de líneas que está habilitada en el tamaño de la ventana de su terminal. Uno esperaría que esto fuera tan fácil como utilizar el mouse para desplazarse hacia arriba y hacia abajo, pero no lo es.

En su lugar, puede utilizar una combinación de teclado CTRL + ESC para habilitar el modo de copia (aún cuando no se realiza una copia real si solo se desplaza), y ahora su mouse, así como las teclas estándar de cursor arriba / abajo funcionarán correctamente. Cuando haya terminado de mirar (y / o copiar si lo desea, a modo de ejemplo, con el mouse seleccionando y copiando como de costumbre), simplemente presione la tecla ESC nuevamente para cancelar el modo de copia.

A veces, un programa que se ejecuta dentro de una pantalla puede bloquearse, a modo de ejemplo, debido a un error del programa o falta de memoria o una situación de disco. Si esto sucede, la pantalla se mostrará como ‘Muerto’ en el screen -list producción:

Una sesión fallida de la pantalla GNU

En tal punto, podemos eliminar la sesión de pantalla muerta emitiendo un screen -wipe mando:

Una sesión de pantalla GNU borrada

En este post, exploramos cómo instalar la utilidad de pantalla GNU, cómo iniciar una nueva sesión de pantalla virtual usando la misma y cómo desconectarse y volver a unir una sesión de pantalla existente. En conclusión, veremos cómo desplazarse dentro de las sesiones de pantalla, así como además cómo manejar las sesiones de pantalla muerta.

Suscribite a nuestro Newsletter

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