Trabajar con Screen
Guía para ejecutar y gestionar programas en segundo plano en un servidor Linux.
Screen es un potente multiplexor de terminal que te permite ejecutar programas en sesiones separadas, desconectarte sin matar el proceso y volver a conectarte más tarde. Es especialmente útil cuando trabajas con un VPS o servidores dedicados mediante SSH: puedes lanzar tareas de larga duración (por ejemplo, actualizaciones, parsing, minería o aplicaciones del lado del servidor), desconectarte y retomar el trabajo incluso tras una caída de la conexión.
Screen crea terminales virtuales (ventanas) en los que se ejecutan los comandos, y te permite cambiar entre ellos o gestionarlos de forma independiente.
Instalación
Ubuntu / Debian:
sudo apt update
sudo apt install screen -y
CentOS / RHEL / AlmaLinux / Rocky:
sudo yum install screen -y
# o bien
sudo dnf install screen -y
Uso básico
- Inicia una nueva sesión:
screen
Verás un prompt de comandos o una pantalla de bienvenida (pulsa Espacio o Intro).
- Ejecuta el comando que necesites (por ej.,
top,htop,python3 script.py, etc.). - Desconéctate de la sesión (sin terminarla):
Ctrl + a, luego d
Verás: [detached from ...]
- Vuelve a conectarte más tarde:
screen -r
Si tienes varias sesiones — lista primero:
screen -ls
Ejemplo de salida:
There are screens on:
1234.pts-0.server (Detached)
5678.job1 (Detached)
2 Sockets in /var/run/screen/S-root.
Conéctate a una sesión específica:
screen -r 1234
o por nombre:
screen -r job1
Comandos útiles dentro de Screen
- Crear una nueva ventana (dentro de una sesión): Ctrl + a, luego c
- Cambiar entre ventanas: Ctrl + a, luego número de ventana (0–9) o Ctrl + a, luego " (lista de ventanas)
- Renombrar la ventana actual: Ctrl + a, luego A → escribe el nuevo nombre
- Cerrar la ventana actual: Ctrl + a, luego k → confirma con y
- Salir de toda la sesión de Screen: Ctrl + a, luego : → escribe quit → Intro
- Salir del modo copia (si activaste el modo de desplazamiento): Esc o q
Desplazamiento por la salida (modo copia)
Si la salida de un comando se va fuera de pantalla:
- Pulsa Ctrl + a, luego [ — entras en modo copia.
- Usa las teclas de flecha, Re Pág/Av Pág o las teclas estilo vi (h,j,k,l) para desplazarte.
- Pulsa Esc o q para salir.
Nuestros servicios y productos
Personalizar Screen (~/.screenrc)
Crea o edita ~/.screenrc:
Ejemplo de configuración útil:
# Desactivar el mensaje de bienvenida
startup_message off
# Mostrar siempre la barra de estado en la parte inferior
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'
# Crear ventanas automáticamente al iniciar
screen -t Main
screen -t Logs
chdir /var/log
screen -t Backup
Tras guardar, las nuevas sesiones tendrán una barra de estado ordenada y ventanas preconfiguradas.
Consejos prácticos
- Si una sesión se queda colgada — reconéctate en modo multiusuario:
screen -x
- Para iniciar Screen automáticamente al hacer login por SSH — añade esto a
~/.bashrc:
if [ -z "$STY" ]; then screen -x || screen -S main; fi
- Screen es ideal para procesos de larga duración (actualizaciones del sistema operativo, compilación, procesamiento de grandes volúmenes de datos, bots, etc.).
Nuestros servicios y productos
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!