Como usar screen en *nix

Screen es una herramienta del command line en sistemas *nix lo que incluye a Mac OS X. Esta herramienta permite crear pantallas virtuales de las que podemos conectarnos y desconectarnos sin interrumpir los procesos que estas realizan.

Referencia Rápida

Comando Descripción
> screen -S nombredesesion Crea una nueva sesión de screen
> screen -r nombredesesion Abre una session anterior
> screen -ls Muestra una lista de todas las sesiones abiertas
control + a d Cierra (detach) screen guardando la sesión activa
control + a c Crea una nueva ventana dentro de la sesión
control + a “ Muestra una lista de las ventanas de un screen
control + a A Permite cambiar los títulos de las ventanas
control + a ? Muestra todos los comandos disponibles
control + a | Divide la pantalla verticalmente
control + a S Divida la pantalla horizontalmente
control + a tab Cambia entre las divisiones
> exit Cierra la ventana activa dentro de screen

Cuantas veces has estado conectado vía SSH haciendo una operación complicada en un servidor y pierdes la conexión, “Connection Closed”. Si estuvieras usando screen en ese servidor podrías restablecer la conexión SSH y conectarte nuevamente a la pantalla que estabas usando con screen y seguir donde mismo te quedaste.

Para ser mas claro screen permite hacer una especie de tab el cual puedes cerrar y abrir cuantas veces quieras.
Aquí los pasos necesarios para manejar este caso simple. Abre tu terminal y corre screen.

> screen -S nombresesion

Screen te recibe con un mensaje de bienvenida. Esto se puede remover alterando las preferencias de screen, pero esto está fuera de lo que pretendo cubrir en este tutorial.

Ya tienes un screen creado. Aquí puede hacer cualquier operación que comunmente corres en tu terminal. Cuando quieres desconectarte sin cerrar la sesión debes presionar

control + a y luego la letra d

Esto te devolverá a la sesión principal de tu terminal y te dirá que el screen ha sido desconectado (detached).

Para ver que screens tienes corriendo entra

> screen -ls

Esto debe producir una lista de los screens que estan abiertos. Para reconectarte a un screen solo copia el nombre de la sesión.

> screen -r nombresesion

Listo ya estas de vuelta al screen que dejaste abierto. Para crear una nueva ventana dentro de la sesión:

control + a y luego c

Para ver una lista de las ventanas que tienes disponibles haces:

control + a y luego

Para cambiar rápidamente entre ventanas haces control + a y los números del 0 – 9.

Finalmente para control + a y luego ? para ver todos los comandos diponibles.

Para cerrar finalmente ese screen y terminar la sesión usa el acostumbrado

> exit

La aplicación screen puede hacer muchas cosas mas, esto es solo la superficie. Espero mas adelante poder tocar un poco mas en profundidad sobre este tema, pero en realidad esto es lo que uso con mas frecuencia.

Como siempre si ves algún error o sabes alguna forma de mejorar este tutorial no dudes en dejar tu comentario.