Uso de la pantalla para conectar y desconectar sesiones de consola
Screen es un potente multiplexor de terminal que permite crear, gestionar y reanudar múltiples sesiones de shell desde una única ventana de terminal. Esto es particularmente útil cuando se trabaja en servidores remotos a través de SSH o cuando necesita ejecutar procesos de larga duración que desea mantener en ejecución incluso después de desconectarse de la sesión. En esta guía, cubriremos los aspectos básicos del uso de la pantalla, incluyendo cómo iniciar, desconectar y volver a conectar sesiones.
Instalación de screen
Antes de utilizar screen, asegúrate de que está instalado en tu sistema. En la mayoría de las distribuciones de Linux, puedes instalarlo utilizando el gestor de paquetes:
Para Debian/Ubuntu:
Para CentOS/RHEL:
Para Fedora:
Para macOS (con Homebrew):
Iniciar una sesión de pantalla
Para iniciar una nueva sesión de pantalla, simplemente escriba:
Esto abrirá una nueva sesión de pantalla, y se le presentará un prompt de shell estándar.
Cómo nombrar una sesión de pantalla
Para facilitar la identificación de las sesiones de pantalla, puede asignarles un nombre:
Sustituya nombre_sesión por un nombre descriptivo para su sesión. Esto facilita la gestión de varias sesiones.
Ejemplo:
Salir de una sesión de screen
Para abandonar una sesión de pantalla sin terminarla, pulse la siguiente combinación de teclas:
- Ctrl A: indica a la pantalla que desea enviar un comando.
- D: Este es el comando para desconectar la sesión.
Después de desconectarla, volverás al prompt de la terminal, pero la sesión de screen continuará ejecutándose en segundo plano.
Listado de sesiones de screen
Si tiene varias sesiones de pantalla en ejecución, puede listarlas con:
Este comando mostrará todas las sesiones de pantalla activas junto con sus ID y nombres de sesión.
Ejemplo de salida:
12345.mysession (Desconectada)
67890.another_session (Desconectada)
2 Sockets en /var/run/screen/S-user.
Reasignación a una sesión de pantalla
Para volver a conectarse a una sesión de pantalla, utilice la opción -r seguida del ID o nombre de la sesión:
Utilizando el ID de sesión:
Utilizar el nombre de sesión:
Si sólo tiene una sesión separada, puede simplemente ejecutar
Adjuntar a una sesión de pantalla que ya está adjunta
Si una sesión de pantalla aún está adjunta y desea volver a adjuntarla forzosamente (por ejemplo, si ha perdido la conexión), utilice las opciones -d -r:
- -d: Desconecta la sesión si ya está conectada.
- -r: Volver a adjuntar a la sesión.
Este comando desvincula la sesión del terminal anterior y la vuelve a vincular al actual.
Creación de una nueva ventana en una sesión de pantalla
Una vez dentro de una sesión de pantalla, puede crear nuevas ventanas (terminales virtuales) con:
Cada nueva ventana es como un nuevo terminal dentro de la sesión de pantalla. Puedes cambiar entre ellas, lo que puede ser útil para la multitarea.
Cambiar entre ventanas
Para cambiar entre ventanas dentro de una sesión de pantalla:
- Para pasar a la ventana siguiente:Ctrl A, luego N
- Para ir a la ventana anterior:Ctrl A, luego P
- Para listar todas las ventanas:Ctrl A, luego “
Esto mostrará una lista de todas las ventanas abiertas, permitiéndole seleccionar una.
Cerrar una sesión de pantalla
Para cerrar una sesión de pantalla, simplemente salga de todos los procesos en ejecución o escriba exit en cada ventana hasta que todas las ventanas estén cerradas. Cuando se cierre la última ventana, finalizará la sesión de pantalla.
Resumen de comandos comunes de screen
Conclusión
screen es una herramienta versátil para gestionar procesos de larga duración y mantener sesiones de consola persistentes en servidores remotos. Con screen, puedes desconectarte de las sesiones, mantener los procesos ejecutándose en segundo plano y volver a conectarte más tarde desde cualquier lugar, lo que la convierte en una herramienta inestimable para administradores de sistemas y desarrolladores. Al dominar los comandos básicos para crear, gestionar y navegar por sesiones de pantalla, puede mejorar enormemente su productividad en entornos basados en terminales.