viernes, 27 de enero de 2012

Usando screen


Seguramente te ha pasado que estás haciendo una larguísima tarea, no sé, un tar, una instalación remota, en fin: algo que te ha dado muuuucho trabajo lograr, pasan los minutos, las horas, ya está bien avanzado el tema y de repente.. pum.. se cierra la sesión!!
ya sea que se cerró por timeout, porque se te fue la luz, la insternet o lo que sea... es algo doloroso... los gritos llegan al cielo, las invocaciones e imprecaciones son grandes!
Esto lo podías haber resuelto con usar el comando screen.
screen te permite mantener una sesión activa en tu servidor Linux, incluso desconectarte de él y posteriormente (minutos, horas o días después) reconectarte a esa sesión y ver cómo va avanzando.
Si tu haces una labor dentro de un screen y se te cae la conexión.. no importa, ahi sigue funcionando hasta que puedas reconectarte.
El screen incluso nos permite aqui en la empresa compartir trabajos.. cuando estamos haciendo operaciones en masa en nuestro servidor, nos conectamos todos a un screen. El screen puede abrir varias ventanas, así que cada uno trabaja en una ventana y cuando nos queremos consultar o ayudar, sencillamente nos movemos entre diferentes screens hasta alcanzar la del compañero, le ayudamos y regresamos; o en una screen dejamos corriendo un proceso largo en lo que trabajamos en otras screens y monitoreamos de vez en cuando.
En realidad, es maravilloso. Es cuestión de aprender a usarlo básicamente. Por favor, tiene muchísimas opciones, sólo explicaré algunitas.
Primero que todo: Si no tienes instalado el paquete, hazlo ahora:
sudo apt-get install screen
Ahora sí, para comenzar a trabajar con un screen ejecutamos el comando:
screen
Este comando se ejecuta solo una vez. Los otros que quieran entrar al screen que abrimos pueden ejecutar:
screen -rx
screen -rx nos permite reconectarnos (conectarnos) a un screen previamente abierto.
Si deseamos dejar un screen abierto ejecutando algún comando ponemos:
^a d
así como lo ves: control-a, soltamos las teclas y apretamos d (no mantengas apretado ^a)
la d viene de: detach, desconectar.
al desconectarnos, dejamos abierto con el comando ejecutando. Si queremos reconectarnos hacemos:
screen -rx
ya está, nos hemos conectado neuvamente (fijate que screen -rx ya le vimos antes, y hace precisamente esto).
Ahora, hasta el momento hemos utilizado una sola ventana... pero screen nos permite manejar múltiples ventanas en la sesión.
Para abrir una neuva ventana ponemos:
^a c
Correcto, como antes: Control-a, soltamos las teclas y apretamos c
la C viene de: create, crear.
Estamos ya en la segunda ventana, tenemos dos ventanas en el screen.
Para movernos a la ventana anterior ponemos:
^a p
la p viene de previuos
o si queremos ir a la siguiente ponemos:
^a n
n: next
podemos abrir con ^a c, varias ventanas, muchas, y podemos ciclar entre ellas apretando continuamente ^a p o ^a n, incluso cuando se llega a la ultima ventana, nos regresaría a la primera (ciclo).
¿Cómo se cierra un screen?
El último salga que apague la luz: Es decir, el último usuario de la última ventana del screen, al apretar ^d, cerrará esta última ventana y por lo tanto la sesión de screen (fíjate que hay diferencia entre ^a d que detachea y ^d que cierra una ventana)
Te lo sugiero enormemente.. es realmente útil

Fuente: ecualug

No hay comentarios:

Publicar un comentario