TIPS- Uso del comando Screen

Hace poco me encontraba actualizando mi Nextcloud usando un script. Debido a un update de mi driver de red la conexión se me detuvo por un instante por lo que perdí el trabajo que estaba haciendo. Bueno, nos ha pasado a todos en algún momento, ¿no es así? Por suerte, existe una utilidad llamada screen que nos permite retomar las sesiones. Por lo que en este tutorial hablaremos sobre ello.

Screen es un multiplexor de terminales. Significa que puede iniciar una sesión de pantalla y luego abrir cualquier cantidad de ventanas (terminales virtuales) dentro de esa sesión. Los procesos que se ejecutan en la pantalla continuarán ejecutándose cuando su ventana no sea visible, incluso si se desconecta. Por lo que es ideal para nuestro proposito.

El paquete de screen está preinstalado en la mayoría de las distribuciones de Linux hoy en día. Puede comprobar si está instalado en su sistema escribiendo:

root@nextcloud:~# screen --version
Screen version 4.05.00 (GNU) 10-Dec-16

Sino lo tiene instalado entonces:

apt update
apt install screen

Para iniciar una sesión de screen, simplemente escriba screen en su consola:

Esto abrirá una sesión de screen, creará una nueva ventana e iniciará un shell en esa ventana.

Ahora que ha abierto una sesión de screen, puede obtener una lista de comandos escribiendo:

Ctrl+a ?

Si desea crear varias sesiones de screen entonces ponerles un nombre es muy útil. Para crear una sesión con nombre, ejecute el comando de pantalla con los siguientes argumentos:

screen -S nombre_sesion

Cuando inicia una nueva sesión de screen, crea una única ventana con un shell en ella. Puede tener varias ventanas dentro de una sesión de screen.

Para crear una nueva ventana con el tipo de shell:

Ctrl+a c

se le asignará el primer número disponible del rango 0 … 9.

A continuación se muestran algunos de los comandos más comunes para administrar screen:

  • Ctrl+a c Create a new window (with shell)
  • Ctrl+a " List all window
  • Ctrl+a 0 Switch to window 0 (by number )
  • Ctrl+a A Rename the current window
  • Ctrl+a S Split current region horizontally into two regions
  • Ctrl+a | Split current region vertically into two regions
  • Ctrl+a tab Switch the input focus to the next region
  • Ctrl+a Ctrl+a Toggle between the current and previous region
  • Ctrl+a Q Close all regions but the current one
  • Ctrl+a X Close the current region

Puede desconectarse de la sesión de screen en cualquier momento escribiendo:

Ctrl+a d

NOTA: El programa que se ejecuta en la sesión de pantalla seguirá ejecutándose después de que se desconecte de la sesión.

Para reanudar su sesión de screen, use el siguiente comando:

screen -r

En caso de que tenga varias sesiones de screen ejecutándose en su máquina, deberá agregar el ID de sesión de pantalla después del interruptor r.

Para encontrar el ID de sesión, enumere las sesiones de pantalla en ejecución actuales con:

root@nextcloud:~# screen -ls
There is a screen on:
        8928.pts-2.nextcloud    (09/30/20 10:16:02)     (Detached)
1 Socket in /run/screen/S-root.

Si desea restaurar el screen 8928.pts-2, escriba el siguiente comando:

screen -r 8928

Finalmente vamos a personalizar screen. Cuando se inicia screen, lee sus parámetros de configuración de /etc/screenrc y ~/.screenrc si el archivo está presente. Podemos modificar la configuración de pantalla predeterminada según nuestras preferencias utilizando el archivo .screenrc. Crearemos .screenrc y dentro pondremos el siguiente contenido:

nano .screenrc
______________________________________

# Turn off the welcome message
startup_message off

# Disable visual bell
vbell off

# Set scrollback buffer to 10000
defscrollback 10000

# Customize the status line
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

Resumiendo:

En la consola, escriba screen.
Ejecute el programa deseado.
Utilice la secuencia de teclas Ctrl-a + Ctrl-d para desconectarse de la sesión de screen.
Vuelva a conectarse a la sesión de pantalla escribiendo screen -r.

Espero les sirva a todos y les ayude en su trabajo diario

EXTRA

Se que muchos dirán que conocían de otra herramienta que hace el mismo trabajo y que incluso viene ya genérica en algunas distros. Y es:

Tmux

Abreviatura de Terminal Multiplexer le permite administrar múltiples sesiones de Terminal simultáneamente en lugar de solo una. Puede cambiar fácilmente entre varios programas desde una sola Terminal. Es realmente útil cuando está involucrado en un proyecto complejo que requiere varios terminales. Con Tmux, puede adjuntar y desconectar sesiones cuando sea necesario. Esto permite seguir ejecutando los procesos en los servidores sin interrumpir ninguna tarea.

Características de Tmux

Se puede ejecutar en Mac, Linux, Raspberry Pie, BeagleBones, etc. Fácilmente personalizable, puede cambiar el aspecto y el comportamiento de su entorno Tmux Altamente configurable, puede agregar manualmente configuraciones personalizadas para diferentes funciones Su característica clave son las ventanas que son como pestañas en los navegadores. Cada ventana es como una Terminal separada mediante la cual se pueden ejecutar diferentes comandos al mismo tiempo. Facilita varias ventanas y paneles en una sola ventana de Terminal. Mantiene ventanas y paneles en una sesión (que permanece activa incluso cuando la red está desconectada) Es compatible con los accesos directos de Emacs y Vim Ofrece una amplia gama de teclas de método abreviado que pueden resultar muy útiles para el uso habitual de aplicaciones. Puede desconectar la interfaz de Terminal sin interrumpir el servicio que se ejecuta en segundo plano y volver a conectarlo cuando sea necesario.

Comparación entre Tmux y Screen

Tmux y Screen tienen aproximadamente un propósito similar. Ambos programas construyen una Terminal virtual dentro de una sola Terminal, le permite cambiar entre Terminales virtuales y le permite conectar y volver a conectar los Terminales virtuales cuando su conexión de red se interrumpe. Ambos programas operan construyendo procesos separados que nombran de manera diferente.

Sin embargo, también existen algunas diferencias entre estas dos herramientas. Tmux tiene una licencia BSD mientras que Screen tiene GNU GPL. Tmux es más fácil de usar que Screen y contiene una barra de estado agradable con algo de información. Tmux presenta un cambio de nombre automático de ventanas, mientras que Screen carece de esta característica. Screen permite compartir sesiones con otros usuarios, mientras que Tmux no. Esa es la gran característica de la que carece Tmux.

Por lo tanto, podemos concluir que, como cualquier programa, esto realmente depende de sus requisitos y preferencias y con los que se sienta más cómodo. Pruébalos a ambos y usa lo que mejor se adapte a tus necesidades.

alex out

 

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 8

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Alexander Rivas Alpizar 61 artículos
Administrador de Redes IDEAR Cienfuegos

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*