By | 11 febrero, 2014

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.

One Reply to “screen básico para sesiones remotas”

  1. Pingback: Bitacoras.com

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *