Descripción General
screen es una herramienta potente que permite mantener sesiones de terminal en segundo plano, crear y cambiar entre múltiples sesiones, e incluso compartir sesiones. Es particularmente útil para asegurar que las tareas no se interrumpan si la conexión SSH se cae, y es como usar múltiples terminales virtuales dentro de una sola ventana de terminal.
Funciones Principales
- Separación y reconexión de sesiones (Detaching and Reattaching)
- Gestión de múltiples ventanas (Multiple Windows)
- Compartir sesiones (Session Sharing)
- Registro de actividad (Logging)
- Búfer de scrollback (Scrollback Buffer)
Opciones Principales
Describe las opciones principales utilizadas al ejecutar el comando screen y los atajos de teclado principales utilizados dentro de una sesión de screen.
Opciones de Ejecución del Comando
Atajos de Teclado Dentro de la Sesión (Prefijo Ctrl+a)
Comando generado:
Combina los comandos.
Descripción:
`screen` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de Uso
Ejemplos de varios usos del comando screen.
Iniciar una Nueva Sesión de Screen
screen
El uso más básico, inicia una nueva sesión de screen.
Iniciar Sesión con Nombre Especificado
screen -S my_long_running_task
Asigna un nombre a la sesión para poder identificarla y reconectarla fácilmente más tarde.
Separar Sesión (Detach)
screen -d <session_name_or_pid>
Dentro de una sesión de screen, presiona Ctrl+a d para separar la sesión y volver a la terminal. Alternativamente, puedes separar forzosamente una sesión en ejecución desde el exterior.
Reconectar Sesión (Reattach)
screen -r
Vuelve a conectar a una sesión separada. Si solo hay una sesión, se conectará automáticamente.
Reconectar Sesión Específica por Nombre
screen -r my_long_running_task
Vuelve a conectar a la sesión con el nombre especificado.
Ver Lista de Sesiones en Ejecución
screen -ls
Verifica la lista de sesiones de screen activas actualmente.
Terminar Sesión Forzosamente
screen -X <session_name_or_pid> quit
Termina forzosamente una sesión que ya no es necesaria. (Precaución: ¡Puede interrumpir el trabajo!)
Instalación
GNU Screen está incluido por defecto en la mayoría de las distribuciones de Linux, o se puede instalar fácilmente a través del gestor de paquetes.
Debian/Ubuntu
sudo apt update && sudo apt install screen
Instala usando el gestor de paquetes APT.
CentOS/RHEL/Fedora
sudo yum install screen
# o
sudo dnf install screen
Instala usando el gestor de paquetes YUM o DNF.
Arch Linux
sudo pacman -S screen
Instala usando el gestor de paquetes Pacman.
Consejos y Precauciones
Consejos útiles y puntos a tener en cuenta al usar screen.
Uso del archivo .screenrc
Puedes personalizar la configuración predeterminada de screen a través del archivo `.screenrc` en tu directorio de inicio. Por ejemplo, puedes configurar el shell predeterminado, el tamaño del búfer de scrollback, la barra de estado, etc.
- Ubicación: ~/.screenrc
- Configuración de Ejemplo: defscrollback 10000 caption always '%{= gk}%H %L=%-w%?%F%fn%W%? %t %{-}%+w %-= %D %m/%d %C%a'
Recordar el Prefijo Ctrl+a
Todos los comandos internos de screen usan Ctrl+a como prefijo por defecto. Recordar esta combinación es clave para usar screen. Si Ctrl+a entra en conflicto con otro programa, puedes cambiar el prefijo en `.screenrc` (por ejemplo, cambiar a Ctrl+j con `escape ^Jj`).
Importancia de Nombrar las Sesiones
Al asignar nombres significativos a las sesiones con `screen -S
Uso del Búfer de Scrollback
Presiona Ctrl+a [ para entrar en modo de scrollback, luego usa las teclas de flecha o PageUp/PageDown para ver la salida anterior. Presiona q para salir del modo de scrollback.