Comenzando con GNU Screen

Veamos lo básico del multiplexador de la terminal GNU Screen

captura de GNU Screen

En un artículo anterior, compartí la guía visual sobre tmux, un multiplexador de la terminal que nos permite expandir las funcionalidades de nuestra terminal.

Podemos crear ventanas, dividir las ventanas en paneles, rotarlos, cambiarlos de posición, crear sesiones que sigan funcionando en segundo plano y a las que volver a conectarnos y mucho más.

Y al igual que existe tmux con estas funcionalidades, también tenemos GNU screen, parte del proyecto GNU desarrollado por Oliver Laumann en 1987 y publicado bajo una licencia GPLv3.

En Screen, también tenemos una combinación de teclas para decirle a la aplicación la que después le especificamos será el comando que queremos que ejecute. Esa combinación de teclas suele ser Ctrl-a es decir la tecla Ctrl junto con la tecla a. Y después el comando que queramos ejecutar.

Con Screen podremos crear nuevas pantallas, dividirla, crear sesiones de las que nos podremos desconectar mientras siguen trabajando en segundo plano y volvernos a conectar cuando queramos para seguir con nuestras tareas.

Una vez instalado en tu sistema GNU/Linux, podremos abrir una consola y ejecutar: screen

Screen toma las configuraciones del archivo .screenrc de nuestro /home, si no existe lo toma de /etc/screenrc. Para empezar podemos copiar ese archivo a nuestro /home y renombrarlo para ponerle el . delante del nombre y para que quede /home/tu_usuario/.screenrc

A tu archivo de configuración además de las opciones que quieras configurar yo le añadiría estas líneas:

# Personalizar la barra de estado inferior
hardstatus alwayslastline
hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b ck} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%d/%m/%y %{W}%C%A%{g}]'

Para que muestre una barra en la parte inferior para que nos muestre distinta información de screen y así también nos informe que la aplicación está corriendo en nuestra consola.

Para empezar, con Ctrl-a ? nos mostrará un listado de los comandos que podemos ejecutar en Screen.

Ya que tenemos una ventana, vamos a dividirla con Ctrl-a S o con Ctrl-a | dividiremos la pantalla en regiones horizontales o verticales respectivamente.

A diferencia de tmux, cuando dividimos la pantalla, screen no nos crea una nueva sesión de manera automática. Deberemos situarnos en esa región mediante Ctrl-a Tab y ahí crear una sesión con Ctrl-a c

Podemos ver todas las sesiones que hemos creado e ir recorriéndolas con Ctrl-a n o Ctrl-a p para ir a la siguiente o la anterior, respectivamente. También podremos ejecutar Ctrl-a 1 para ir a la sesión 1, podemos ir a cualquier sesión que hayamos creado del 0 al 9.

Para eliminar las divisiones que hemos creado, ejecutaremos Ctrl-a X para eliminar la división actual o Ctrl-a Q para eliminar todas las divisiones, menos la actual. La gestión de las ventanas y de las regiones es diferente a como las gestiona tmux.

También podemos renombrar las ventanas mediante Ctrl-a A para identificarlas mejor poniéndole por ejemplo el nombre de la tarea que estamos ejecutando.

Podemos ir eliminando las ventanas que no deseamos que queden abiertas mediante Ctrl-a k o escribiendo en la consola exit Al cerrar la última ventana abierta se cerrará screen por completo.

Podemos dejar corriendo una aplicación en segundo plano y desconectarnos de ella mediante Ctrl-a d y volvernos a conectar a ella mediante Ctrl-a r

Si tenemos varias sesiones de screen abiertas de las que nos hemos desconectado, nos pedirá a cual conectarnos. La tecla Tabulador te podrá ayudar para autocompletar el nombre de la sesión.

Y con estos poco comandos ya podemos empezar a utilizar GNU Screen como nuestra herramienta para aumentar las posibilidades de nuestra consola. Poco a poco puedes ir descubriendo otras funcionalidades y opciones, compártelas por el blog en los comentarios.

¿Tienes alguna duda? utiliza el apartado de comentarios para compartirla.

Enlaces de interés

4 comentarios sobre “Comenzando con GNU Screen

  1. Genial el artículo
    Podrías poner también como lanzar una aplicación en segundo plano directamente en una sola línea de comandos.

    Y tengo una gran duda
    ¿tmux o screen?

    1. Hola. Me alegro que encuentres el artículo de interés!
      No se si se puede hacer eso que preguntas…
      En mi opinión prefiero tmux… Pero solo es mi opinión!
      Saludos t gracias por comentar!

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.