Gnu Screen

GNU Screen

Screen es un Windows Manager de consola que permite tener en una sola ventana, varios programas de consola ejecutandose al mismo tiempo.
La ventaja de Screen es que una vez abierto tengo una consola normal pero a la cual me puedo attachear y dettachear tanto localmente como de manera remota via SSH por ejemplo.
Entonces puedo comenzar a trabajar en algo por consola desde una PC y luego attachearme a esa sesion de Screen remotamente y seguir con el trabajo que habia comenzado en la primer PC.
Mas claro todavia seria: Pongo a instalar un programa en mi PC y me voy a trabajar.

En el medio de la instalacion me pregunta: "Are you sure blablabla?"
Y entonces desde el trabajo entro por SSH a mi PC y le doy el OK.
Esto por SSH sin Screen seria imposbible. Asi que seria como hacer remota la consola siendo un poco bruto en la definicion.
Es una herramienta genial si usas consola para trabajar. Yo dIria imprescindible.

Segun la pagina oficial lo que hace es multiplexar una terminal fisica en varios procesos. (si mi ingles no me falla).

Para instalarla simplemente desde repositorio.

Gentoo:

Código:
emerge screen

Debian/Ubuntu:

Código:
apt-get install screen

El archivo de configuracion en la mayoría de los casos /etc/screenrc para la configuración global y ~/.screenrc para la configuración de cada usuario.

Ejecucion:
Para ejecutar Scren solo hay que tipear screen y lo que sucede es que se limpia la pantalla y queda el prompt limpio. Esto significa que se abrio una nueva consola en screen.

Para mandarle comandos a Screen se utilizan combinaciones de teclas.
La convinacion que le indica a Screen que se le va a dar una orden es "Ctrl+a", luego mando la tecla que quiera, por ejemplo: "c" para crear una nueva terminal Screen.

Para attachearnos a una sesion Screen determinada lo hago conel comando "screen -x session_id"

Para ver las sesiones disponibles se usa "screen -list" lo cual nos devuelve algo como esto:
 

Código:
There are screens on:
    26347.pts-3.dsserver    (08/28/2009 12:48:11 PM)    (Detached)
    26344.pts-3.dsserver    (08/28/2009 12:47:20 PM)    (Detached)

Siendo 26347 y 26344 el session_id. Por lo tanto para attachearme seria:
"screen -x 26344"

Otros comandos:
CTRL+a c Para crear una nueva terminal Screen.
CTRL+a n para ir a la ventana siguiente (next) y CTRL+a p para ir a la ventana anterior (previous).
CTRL+a # : Para ir a la ventana número #.
CTRL+a a : Para ir a la ventana que se visitó anteriormente.
CTRL+a ' : Para poder teclear el número de ventana correspondiente e ir a ella cuando se pesiona enter.
CTRL+a " : Para mostrar una lista seleccionable de ventanas creadas. Moviendose con las teclas de cursor se selecciona la ventana a la que se quiere ir y presionando enter, se va a esa ventana.
CTRL+a d : Para dettachearse de una sesion.

Para copiar y pegar texto entre ventanas en sesion de Screen se utiliza la combinación CTRL+a [ entonces Screen entra en modo copia. Moviendose con las teclas del cursor, se posiciona donde comienza lel texto a copiar y se presiona espacio, luego se mueve el cursor con las teclas hasta llegar al final de el texto a copiar y se presiona enter
El texto seleccionado está ahora copiado en screen. Para pegar el texto previamente copiado, simplemente se presiona la combinación CTRL+a ] y el texto se pega. 

Ver tabla de comandos Screen.

No dejen de visitar su "man" amigo:

Código:
man screen

y ahi estan todos los comandos mas explicados.

Una vez que utilizaste Screen para trabajar por primera vez, lo primero que haces al instalar una PC es instalar SSH y luego Screen.

Espero les sirva.
Salu2

Tags: 

Predefined Sections

Seccion Cisco   Seccion Linux   Seccion Microsoft   Seccion Redes   Seccion Seguridad   Seccion General