Qué es y cómo funciona el comando Screen en Linux

Hablamos del programa Screen, que permite en los sistemas GNU/Linux, abrir múltiples instancias de terminal dentro de una sola sesión. De esta manera, si salimos de una de las instancias de terminal, el proceso que se ejecute en dicha terminal no se interrumpirá y continuará en segundo plano.

En esta entrada veremos su instalación y algunos ejemplos.

¿En qué consiste el comando Screen?

Screen, según indica su página de man, es un administrador de ventanas en pantalla completa, que multiplexa un terminal en varios procesos, cada proceso asociado a una nueva terminal.

Cuando se utiliza el comando Screen, este crea una única ventana con una terminal en ella (o un comando especificado) de forma independiente. Por lo que, en cualquier momento, podemos crear nuevas ventanas con otros programas.

Permite también obtener una lista de las ventanas activas, activar o desactivar el registro de salida, copiar y pegar texto en las ventanas, mostrar el historial, cambiar entre ventanas, etcétera.

Instalación de Screen en GNU/Linux

Si no tenemos instalado el programa screen, lo podemos instalar fácilmente, de la siguiente manera:

En sistemas Debian, Ubuntu, Linux Mint y derivados:

  1. sudo apt install screen

En sistemas RHEL, Centos y derivados:

  1. sudo yum install screen

En Fedora:

  1. sudo dnf install screen

En SUSE y OpenSUSE

  1. sudo zipper -i screen 
  2. #o mediante yast

En Arch y derivados:

  1. yaourt -S screen

Uso de Screen y ejemplos

Podemos comprobar la versión del programa mediante el comando y parámetro:

  1. screen --version

Para usuarlo sólo hemos de escribir “screen”

  1. screen

Existe la posibilidad de asignar un nombre a una nueva sesión, como se muestra en el ejemplo, utilizando el parámetro “-S

  1. screen -S nombre-de-sesión

Si nos queremos desvincular de una sesión hemos de utilizar la siguiente combinación de teclas:

  1. Ctrl+a d

Para volver a una sesión ya existente debemos utilizar el parámetro “-r

  1. screen -r

Con un resultado, en mi caso:

  1. [root@servcentos] screen -r
  2. There are several suitable screens on:
  3.         19285.prueba2   (Detached)
  4.         19258.prueba1   (Detached)
  5.         19227.pts-0.servcentos     (Detached)
  6. Type "screen [-d] -r [pid.]tty.host" to resume one of them.

Si existen varias sesiones de pantalla creadas, se mostrarán todas las sesiones disponibles, entonces debemos elegir una de ellas y debemos ejecutar el siguiente comando:

  1. screen -r 19285

Tras ejecutar el comando anterior se abrirá la sesión llamada “prueba2”

Otra forma de listar todas las sesiones es utilizar el parámetro “-ls

  1. screen -ls

Conclusión

Hemos aprendido a instalar y utilizar el programa Screen en GNU/Linux, mostrando varios ejemplos de uso. Uno más en esa increíble y extensa navaja suiza que es la terminal de comandos.