Multiplexar un Terminal Linux con Screen

Estimados lectores, en esta nueva entrada os voy a contar cómo multiplexar un terminal Linux con Screen, un software que podemos correr en nuestra distribución GNU/Linux favorita y que nos ayudará a administrar múltiples ventanas en nuestro terminal (como por ejemplo PuTTY) para ejecutar tantos procesos como necesitemos literalmente «atachando» y «desatachando» las ventanas todo ello de forma interactiva.

De alguna forma podríamos decir que Screen hace posible que nuestra ventana, la del terminal, se ejecute como un proceso en segundo plano brindándonos funcionalidades muy interesantes como listar tales procesos, darles un nombre, acceder al contexto del proceso o ventana y salir sin interrumpir la ejecución de aquellas tareas que hayamos lanzado.

Para disponer de esta herramienta en nuestro sistema operativo Linux lo primero que debemos hacer instalarla: en este caso la vamos a instalar en una CentOS aunque podemos encontrar de forma muy sencilla y similar este proceso para otras distribuciones como Fedora, Debian, Ubuntu, …

[root@vmdavid01 ~]# yum install screen

Con esto podemos multiplexar un terminal Linux con Screen y todas sus dependencias por lo que tenemos lista la herramienta. Como recomendación siempre es bueno darse una vuelta por el man para entender bien cómo funciona la herramienta y las distintas posibilidades que nos ofrece.

Para los que queráis echar un vistazo antes os dejo este enlace para consultar el man de screen en la Web: https://ss64.com/bash/screen.html Para quien no lo conozca ss64.com es un excelente directorio de referencia CLI en la Red, no es el único pero me parece bastante sencillo e intuitivo.

¿Cómo uso Screen en mi Terminal Linux?

Lo veremos con un ejemplo sencillo: vamos a lanzar un «ping» a un servidor Web y lo vamos a «encapsular» en una ventana. Para identificar mejor el proceso screen o ventana podemos usar el parámetro -S introduciendo un nombre amigable:

[root@vmdavid01 ~]# screen -S ping
[root@vmdavid01 ~]# ping google.es
PING google.es (74.125.206.94) 56(84) bytes of data.
64 bytes from wk-in-f94.1e100.net (74.125.206.94): icmp_seq=1 ttl=108 time=31.4 ms
64 bytes from wk-in-f94.1e100.net (74.125.206.94): icmp_seq=2 ttl=108 time=31.4 ms
64 bytes from wk-in-f94.1e100.net (74.125.206.94): icmp_seq=3 ttl=108 time=31.4 ms

Ahora tenemos que salir, despegarnos de esa ventana, para dejar el «ping» funcionando y volver al contexto principal. Para ello tenemos que utilizar la combinación de teclas Ctrl+a+d

[detached from 13057.ping]
[root@vmdavid01 ~]# screen -ls
There is a screen on:
13057.ping (Detached)
1 Socket in /var/run/screen/S-root.

Fijémonos en el mensaje: hemos desatachado la ventana de un proceso identificado por el sistema como un ID.nuestro nombre. En el ejemplo anterior vemos cómo listar los procesos screen mostrando su estado: Detached quiere decir que no estamos dentro de su contexto y Attached que sí lo estamos.

Ahora para acceder al terminal «ping» podemos hacer lo siguiente:

[root@vmdavid01 ~]# screen -r ping

Observemos que no hace falta especificar el identificador completo, con introducir el nombre amigable podemos gestionar la entrada y salida de los procesos o ventanas. Una vez dentro podemos realizar las tareas que necesitemos hasta que terminemos con un exit, con esto cerramos el contexto del proceso o ventana.

Podemos anidar tantos procesos screen como necesitemos, por defecto hasta 40 concurrentes aunque se puede modificar. Si queremos terminar los procesos screen sin acceder al contexto podemos usar la sentencia siguiente:

[root@vmdavid01 ~]# screen -S ping -X quit

Para finalizar solamente añadir que si queremos salir de nuestra ventana Screen de forma controlada accederemos a su contexto, pararemos la ejecución que tengamos (si es que está todavía en marcha o bien tenemos la consola en espera) y saldremos con exit.


Licencia de Creative Commons

This Post by David Solé Pérez is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License

Pagina Principal
96 Visitas del Post

¿Te ha gustado este artículo? ¡Suscríbete!

Artículos Relacionados

  • Downgrade del Firmware de la BMC Estimados lectores, Recientemente me he encontrado con un problema relacionado con la batería de una FAS2040. Aparentemente la controladora estaba leyendo de forma errónea los datos de […]
  • Aspectos de diseño para sistemas de almacenamiento NetApp Hola lectores, Os dejo algunos aspectos de diseño para sistemas de almacenamiento NetApp a tener en cuenta en el momento de poner en marcha nuestra cabina: 1)      Las controladoras […]
  • Reducir BBDD SQL Express en VMWare 5 Hace poco me entraron dos incidencias seguidas en las cuales el cliente tenia su SQL Express por encima de los 4 Gb. Sin embargo, no se podia reducir la BBDD del SQL. Vamos a ver […]
  • Robocopy, scripts de ejemplo para la migración a NetApp CIFS Robocopy (Robust File Copy de Microsoft), la archiconocida herramienta para sincronizar archivos a través de la red, tiene un papel fundamental en todas las migraciones de servidores de […]
  • Cero de los discos de spare en NetApp Estimados lectores, en este nuevo artículo os voy a mostrar cómo hacer un cero de los discos de spare en NetApp. Quizás algunos os preguntaréis, ¿para qué necesito formatear un disco de […]
  • Monitorización básica de una NetApp con sysstat En esta nueva entrada vamos a ver cómo poder realizar una monitorización básica de una NetApp con sysstat. Los sistemas operativos Data ONTAP implementan el comando sysstat que nos ayuda […]
David Solé Pérez

Autor: David Solé Pérez

Padre de Paula e Ivet, entusiasta de las Tecnologías de la Información y de la Comunicación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *