¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Screen - terminales virtuales 

Copyright © 2005-2018 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

Imagínate que eres un administrador de sistemas Linux que trabaja desde un equipo Windows y usas Putty para conectarte a los servidores Linux, y dejas una terminal descargando esa nueva y fantástica distro, y esto va a tomar varias horas. En la tarde que ya te vas a casa, solo llevas un avance de un 20% digamos, en el transcurso de la noche terminará la descarga, asi que no apagas tu equipo Windows porque al apagarlo se pierde la terminal y la descarga. Te vas muy confiado, pero resulta que tu acomedido compañero al ver que dejaste la computadora prendida, la apague, y ni hablar, al otro día volver a iniciar la descarga donde se quedó.

Es un ejemplo sin importancia, porque pudo ser algo grave, como la ejecucción de un respaldo, la réplica de una base de datos, una comprobación del sistema de archivos, etc.

Al rescate llega screen que es una utilería que permite multiplexar una terminal, crear una terminal virtual a partir de una existente y después esta terminal virtual ser "llamada" desde otras terminales o desde el servidor junto con el programa que se este ejecutando.

Lo anterior quiere decir, siguiendo con el ejemplo, que te conectas via putty al servidor, desde la terminal ejecutas screen, que abrirá otro shell, desde este shell ejecutas la descarga (o el programa que quieras), te sales de screen y te sales de putty, apagas la computadora, y al otro día te reconectas a la terminal virtual, y listo, tendrás de nuevo la terminal donde esta se encuentre ejuctándose en ese momento, como si nunca la hubieras cerrado.

Su uso es muy fácil, estando en la línea de comandos o shell de cualquier terminal local o remota, teclea:

$> screen

Dependiendo de la versión o de la distro que uses, es posible que no aparezca ningún mensaje, simplemente se creó un nuevo shell, donde puedes seguir trabajando normalemente y ejecutar algún proceso largo.

Puedes cerrar completamente esa terminal, y ahora desde una nueva terminal ejecuta lo siguiente para observar la lista de terminales virtuales:

#> screen -ls
There is a screen on:
	31574.pts-2.segolap (Attached)
1 socket in /var/run/screen/S-root.

Lo que nos indica que tenemos una terminal virtual ejecutándose. Si tuvieras dos terminales virtuales, dos comandos screen ejecutados por separado:

#> screen -ls
There are a screens on:
	31574.pts-2.segolap (Attached)
	32007.pts-5.segolap (Attached)
2 sockets in /var/run/screen/S-root.

Cada terminal virtual recibe un número, por lo que entonces desde cualquier otro equipo o en el mismo servidor, a través de una terminal (telnet, ssh, local), será posible invocar de nuevo estas terminales virtuales, tan solo basta la opción -r:

#> screen -r 32007

Solo basta indicar el número asignado de la terminal virtual, si no hubiera más que una sola terminal virtual bastaría con indicar la opción -r sin número.

Y básicamente es todo, una vez en la terminal virtual puedes seguir trabajando en ella. Para mi es una herramienta invaluable y extremadamente útil, ya que por ejemplo, si estoy con un cliente y antes de irme a casa, ejecutó screen y dejo trabajando algún proceso (sobre todo de respaldo a bases de datos), cierro la terminal o apago completamente el equipo, llego a casa o con otro cliente, y el mismo día por la noche o al otro día, me conecto remotamente mediante ssh, e invoco y sigo trabajando o revisando la tarea en ejecucción que se haya completado satisfactoriamente, para salir de screen, exit lo hace.

Screen ofrece múltiples opciones, checa su página del manual ($> man screen) para más información.



¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

De acuerdo a la definición en wikipedia un rootkit es una herramienta, o un grupo de ellas que tiene como finalidad esconderse a ....


Si se tiene un servidor ssh al que seguramente se conectan clientes desde otros equipos Linux o Windows con clientes de ssh como p....


Hay múltiples maneras de cometer errores (algunos muy graves y desastrosos) cuando se administran servidores GNU/Linux, conócelo....


Sistemas basados en GNU/Linux (Al igual que sus parientes basados en Unix como BSD o los de Macinstosh) conservan la tradición de....


Hay ocasiones que cuando busco un archivo dentro del listado de un directorio con varios archivos, usando ls, deseo ver solamente ....


awk o la versión GNU gawk es más que un simple comando de procesamiento de patrones, es todo un lenguaje de análisis semántico....


Hay ocasiones que los usuarios insisten en poner contraseñas muy débiles de 5 o 6 caracteres a lo más. Y el argumento que dan e....


En ambientes donde varios usuarios usan uno o más sistemas GNU/Linux, es necesario otorgar distintos permisos o privilegios para ....


En este tutorial sobre listas de control de acceso en squid, aprenderás lo básico de como configurarlas y establecerlas en la co....


yum es un paquete administrador de software(software package manager). Es una muy útil herramienta para instalar, actualizar y re....



Copyright © LinuxTotal.com.mx 2006-2018
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com