En forma simple, screen es un software que nos permite con una sola conexión remota a un servidor crear múltiples sesiones de terminal, con la ventaja de poder desacoplarnos de los programas en ejecución para que sigan corriendo en segundo plano e inclusive poder cerrar la conexión sin que se interrumpan los programas en ejecución dentro de screen.
Screen no suele venir pre-instalado en las distribuciones de Linux, pero está disponible en los repositorios de software.
Uso simple
$ screen
Dentro de screen ejecutamos el programa que necesitemos, por ejemplo ping a un server y lo dejamos corriendo. Nos desacoplamos utilizando Ctrl-a Ctrl-d y volvemos en la terminal desde donde llamamos a screen. Ahora podemos cerrar la conexión si necesitamos, el ping seguirá corriendo.
Para volver a entrar al screen que está corriendo y tener nuevamente el control del ping ejecutamos
$ screen -r
Comandos útiles de screen
Los comandos de screen, una vez que estamos dentro, todos comienzan con Ctrl-a y estos son los más usados:
Ctrl-a ? | Ayuda y sumario de funciones |
Ctrl-a c | Crear una nueva terminal |
Ctrl-a Ctrl-n o Ctrl-a Ctrl-p | Cambiar a la Siguiente o Anterior terminal |
Ctrl-a Ctrl-N | Cambiar a la Siguiente o Anterior terminal (siendo N [0-9]) |
Ctrl-a ” | Lista navegable de terminales en funcionamiento |
Ctrl-a a | Limpiar un Ctrl-a pulsado por error |
Ctrl-a Ctrl-d | Desacoplar de screen y dejar la sesión en funcionamiento |
Ctrl-a x | Bloquear todas las terminales con una clave |
Obviamente, screen también puede ser utilizado en forma local, para cualquier tarea que demore o cuando no queremos dejar una ventana abierta para ella. Un uso que para mi es obligatorio, es cuando realizo la actualización de un servidor, pues si mi conexión se corta (o rota mi IP de origen) mi proceso de actualización continuará dentro de screen y podré volver a tomar su control.
Pingback: Bitacoras.com