Gestor de terminal Screen para Linux
Screen, según sus creadores es "un gestor de ventanas que multiplexa un terminal físico entre muchos procesos, típicamente consolas interactivas".
Para el resto de las personas es una aplicacion que permite abrir varios programas en un solo terminal, cambiar de uno a otro, y lo más interesante: dejar un programa abierto y funcionando, desconectarse del sistema, volver a conectarse y volver a ver el programa que quedó abierto.
Generalmente, si te conectas a un ordenador por SSH y ejecutas wget para realizar una descarga de un sistema operativo, podrías hacer algo así:
wget http://www.ejemplo.com/cosagrande.iso
Y wget empezará a descargarse ese archivo y a mostrarte el proceso de la descarga. El problema es que si te desconectas se cierra tu sesión y tu descarga con wget.
El programa screen permite dejar otros programas funcionando aunque cierres sesión en el sistema y volver a acceder a ellos cuando te vuelvas a conectar.
Instalación de screen en Ubuntu
En caso de no estar instalado, el comando sería:
sudo apt-get install screen
Instalación de screen en OpenSUSE
En caso de no estar instalado, el comando sería:
sudo zypper install screen
Funcionamiento básico de screen: Abrirlo
Para ejecutarlo simplemente hay que escribir screen. La primera vez se mostrará un mensaje de bienvenida, luego no se mostrará nada.
screen
Una vez abierto se puede probar ejecutando el programa vim, wget o cualquier otro programa interactivo. Por ejemplo:
vim voyaescribirunlibro.txt
Funcionamiento básico de screen: Desacoplarse
Una vez abierto vim y estando ejecutándose, para "desacoplarse" de screen hay que pulsar a la vez las teclas control y a y soltarlas. Aunque screen no te avise de nada, ahora está esperando una letra para decirle qué hacer. Pulsando d screen automáticamente te desacopla de la sesión y mostrará un mensaje como:
[detached from 3608.pts-1.wasge-aspire]
3608.pts-1 es el nombre que le ha asignado a mi sesión de screen, y wasge-aspire es el nombre de mi ordenador.
Funcionamiento básico de screen: Reacoplarse
Para volver a conectarse a la sesión de screen, se ejecuta el comando:
screen -r
Y al instante debería aparecer la sesión del programa vim exactamente como estaba.
Una vez que hayas acabado de utilizar vim y lo hayas cerrado, escribe exit y screen te dirá que ha finalizado con un mensaje como éste:
exit
[screen is terminating]
Ventanas de screen: Crear una ventana
Dentro de screen hay que pulsar a la vez control y a, dejar de pulsar y depués pulsar c. Ahora se ha creado otra ventana con un nuevo terminal.
Ventanas de screen: Cambiar entre ventanas
Para cambiar entre ventanas hay que pulsar a la vez control y a, dejar de pulsar, y después pulsar n. Esto cambiará de una a una entre todas las ventanas de screen.
También se puede ir directamente a la ventana que se desee entre las 10 primeras pulsando a la vez control y a, dejando de pulsar, y pulsando un número del 0 (primera ventana) al 9 (décima ventana).
Y por último, pulsando a la vez control y a, dejando de pulsar, y escribiendo " (comillas dobles) screen presentará una lista con las ventanas disponibles, que se pueden seleccionar con el cursor del teclado y con enter.
Ventanas de screen: Cerrar una ventana
Primero hay que situarse en la ventana que se quiere cerrar.
Una vez dentro de esa ventana, hay que pulsar a la vez control y a, dejar de pulsar y depués pulsar k. Ahora screen te mostrará un pequeño mensaje preguntando si realmente lo quieres cerrar. Si quieres cerrarlo pulsa y (si no quieres pulsa n).