Screen: La Herramienta Esencial para Administrar Sesiones de Terminal Remotas

16 de julio de 2023
En el mundo de la administración de sistemas y el desarrollo web, a menudo nos encontramos trabajando con servidores remotos a través de conexiones SSH. Sin embargo, ¿qué sucede cuando necesitamos ejecutar un proceso que toma mucho tiempo y no podemos mantener nuestra computadora encendida o nuestra conexión activa? Aquí es donde entra en juego Screen, una poderosa utilidad que nos permite gestionar múltiples sesiones de terminal y mantener procesos en ejecución incluso después de cerrar nuestra conexión.
¿Qué es Screen?
Screen es una utilidad de línea de comandos que actúa como un multiplexor de terminales. Esto significa que puede crear y gestionar múltiples sesiones de terminal dentro de una sola ventana. Cada sesión se ejecuta de forma independiente, permitiéndonos cambiar entre ellas, desconectarnos y reconectarnos sin interrumpir los procesos en ejecución.
Características principales de Screen
- Persistencia de sesiones: Los procesos continúan ejecutándose incluso después de cerrar la conexión SSH.
- Múltiples ventanas: Permite trabajar en varios proyectos simultáneamente dentro de una misma sesión SSH.
- Compartir sesiones: Posibilita que varios usuarios se conecten a la misma sesión de Screen.
- Personalización: Ofrece opciones de configuración para adaptar su comportamiento a nuestras necesidades.
Tutorial básico de Screen
Instalación
En la mayoría de las distribuciones Linux, Screen viene preinstalado. Si no es así, puedes instalarlo fácilmente:
sudo apt-get update
sudo apt-get install screen
Comandos básicos
-
Iniciar una nueva sesión:
screen -S nombre_sesion -
Desconectarse de una sesión (sin cerrarla): Presiona
Ctrl+A, luegoD -
Listar sesiones activas:
screen -ls -
Reconectarse a una sesión:
screen -r nombre_sesion -
Terminar una sesión: Dentro de la sesión, escribe
exito presionaCtrl+D -
Para eliminar las sesiones de Screen que no puedes restaurar, puedes usar el comando
screen -X -S [ID] quit
Caso práctico: Descarga de un sitio web con wget
Imagina que necesitas descargar un sitio web completo usando wget, un proceso que puede llevar horas. Aquí te mostramos cómo hacerlo usando Screen:
-
Conéctate a tu servidor remoto vía SSH.
-
Inicia una nueva sesión de Screen:
screen -S descarga_sitio -
Dentro de la sesión, ejecuta el comando wget:
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --continue https://ejemplo.com/ -
Desconéctate de la sesión presionando
Ctrl+A, luegoD. -
Ahora puedes cerrar tu conexión SSH. El proceso de descarga continuará en segundo plano.
-
Cuando quieras verificar el progreso, reconéctate al servidor y a la sesión de Screen:
screen -r descarga_sitio
Este método te permite iniciar procesos de larga duración sin preocuparte por mantener tu computadora encendida o tu conexión SSH activa.
Conclusión
Screen es una herramienta indispensable para cualquier administrador de sistemas o desarrollador que trabaje frecuentemente con servidores remotos. Su capacidad para mantener sesiones activas y gestionar múltiples ventanas de terminal mejora significativamente la eficiencia y la flexibilidad en el trabajo remoto.
Dominar Screen no solo te ahorrará tiempo y frustraciones, sino que también te permitirá realizar tareas complejas y de larga duración con mayor confianza y control. ¡Incorpora Screen a tu flujo de trabajo y lleva tu productividad al siguiente nivel!