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 sudo apt install screen

En sistemas RHEL, Centos y derivados:

1 sudo yum install screen sudo yum install screen

En Fedora:

1 sudo dnf install screen sudo dnf install screen

En SUSE y OpenSUSE

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

En Arch y derivados:

1 yaourt -S screen yaourt -S screen

Uso de Screen y ejemplos

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

1 screen --version screen --version

Para usuarlo sólo hemos de escribir “screen”

1 screen 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 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 Ctrl+a d

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

1 screen -r screen -r

Con un resultado, en mi caso:

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