jul
19
2012

Screen en GNU/Linux

El día de hoy se me presentó un inconveniente; al llegar a mi casa de la oficina recordé que quería descargar una distribución para probarla en mi Netbook y la cual quería descargar precisamente en la oficina (la cual tiene una mejor velocidad de conexión que mi casa); no dejé mi computadora prendida por lo cual debería descargarla en el servidor de archivos y recordé la genial herramienta Screen y por eso este breve tutorial.

El “problema” es el siguiente: una vez conectado por SSH al servidor debía lanzar un wget para la descarga de mi distro pero si por cualquier cosa mi conexión se caía lo mismo pasaría con mi descarga y también quería desconectarme del server y seguir haciendo cosas para después acceder y comprobar la descarga. Y todo se soluciona con screen.

¿Qué es Screen?
Screen es una poderosa aplicación para usarse en la línea de comandos que te permite tener diferentes pantallas en una misma sesión y te ofrece la posibilidad de mantener procesos activos incluso saliendo de la sesión.

Es decir, soluciona mi problema; al entrar por SSH inicio screen, dejo corriendo wget y cierro sesión SSH y después la puedo retomar.

Para poder utilizar screen pueden consultar el respectivo man, pero aquí dejo instrucciones para uso básico:

Iniciamos screen con:

$ screen

y la terminal mostrará algo así:

[screen 0: bash] usuario@host:~

para salir del screen sin terminarla:

CTRL+A CTRL+D

para volver a entrar:

$ screen -r

para listar las screens corriendo:

$ screen -list

y obtendrán algo así:

[usuario@host ~]$ screen -list
There is a screen on:
30546.pts-1.host (Detached)
1 Socket in /var/run/screen/S-usuario.

Y ya con esto pude dejar descargando mi distro y más tarde entrar a revisar el md5 sin necesidad de estar frente a mi computadora.

Algunos otros comandos para usar en screen son:

CTRL-A ? Ayuda
CTRL-A C Crea una nueva terminal
CTRL-A CTRL-N o CTRL-A CTRL-P Cambia a la siguiente o anterior terminal
CTRL-A CTRL-N Cambia a la siguiente o anterior terminal N [0-9]
CTRL-A ” Lista navegable de terminales en funcionamiento
CTRL-A A Limpia un CTRL-A pulsado por error
CTRL-A CTRL-D Desconectar y dejar la sesión en funcionamiento
CTRL-A X Bloquear todas las terminales con una clave

y fuera de screen:

$ screen inicia screen
$ screen -r[número del screen] activa screen
$ screen -d desactiva screens activas
$ screen -wipe limpia las screen muertas
$ screen -S[NombreDeSesión] nombra una nueva sesión

Entradas Relacionadas

Autor: Martin Alcantara

@dandymich Pseudo blogger, chilango, ingeniero wannabe, socialmediero, geekster, sibarita, melómano, adicto a los puntos suspensivos... CC (by nc sa 3.0)

1 Comentario + Agrega un comentario

  • Muy buen post! También se puede generar un trabajo para descargarse en un horario por ejemplo:

    echo “wget http://www.sitiofeliz.com/miarchivo.iso” >> descarga

    Posteriormente se le dice al comando “at” que ejecute las instrucciones dentro del archivo llamado descarga.

    at -f descarga now

    Así la descarga comienza ahora mismo, pero también puede decirle que empiece a una hora determinada o algunos minutos después de una hora específica. “man at”

    Saludos!