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:
sudo apt install screen
En sistemas RHEL, Centos y derivados:
sudo yum install screen
En Fedora:
sudo dnf install screen
En SUSE y OpenSUSE
sudo zipper -i screen
#o mediante yast
En Arch y derivados:
yaourt -S screen
Uso de Screen y ejemplos
Podemos comprobar la versión del programa mediante el comando y parámetro:
screen --version
Para usuarlo sólo hemos de escribir “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”
screen -S nombre-de-sesión
Si nos queremos desvincular de una sesión hemos de utilizar la siguiente combinación de teclas:
Ctrl+a d
Para volver a una sesión ya existente debemos utilizar el parámetro “-r”
screen -r
Con un resultado, en mi caso:
[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:
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”
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.