Screen es un programa que mantiene tus comandos en marcha aunque te hayas desconectado del servidor. Normalmente, si cierras la ventana de SSH o se te cae internet, todo lo que estaba ejecutándose en el terminal se detiene. Dentro de Screen el proceso sigue funcionando, y puedes volver a él más tarde desde cualquier dispositivo.
Screen viene muy bien cuando necesitas lanzar una tarea larga, por ejemplo una actualización del sistema, una copia de seguridad o un bot de Telegram, y también para tener varios terminales en una sola conexión.
Instalación
# Instalamos Screen desde el repositorio estándar
apt-get install -y screen# Screen está en el repositorio EPEL, así que primero lo activamos
dnf install -y epel-release
# Instalamos Screen
dnf install -y screenPuedes comprobar que todo se ha instalado con el comando screen --version.
Cómo funcionan los controles
Dentro de Screen todo se hace con combinaciones de teclas, y cada una empieza por Ctrl + A. Primero pulsa Ctrl + A, suelta las dos teclas y solo entonces pulsa la letra que necesites. Por ejemplo, «Ctrl + A y luego d» te desconecta de la sesión.
Las mayúsculas y minúsculas importan
Una letra mayúscula y una minúscula dan comandos distintos. Por ejemplo, Ctrl + A y luego Shift + S divide la pantalla.
En cambio, la s minúscula congela la salida de la ventana.
Si la ventana deja de responder, pulsa Ctrl + A y luego q. Vigila la distribución del teclado y el Bloq Mayús.
1. Crea una sesión
Inicia Screen y ponle a la sesión un nombre claro desde el principio, para encontrarla fácilmente después.
# Creamos una sesión llamada backup
screen -S backupSe abrirá un terminal limpio, que ya es una ventana dentro de Screen. Ejecuta en él el comando que necesites. En nuestro ejemplo es ping, que seguirá funcionando hasta que alguien lo detenga.

El comando funciona dentro de la sesión backup
2. Desconéctate de la sesión
Pulsa Ctrl + A y luego d. Volverás al terminal normal y verás un mensaje como [detached from 5084.backup].
El comando de dentro de la sesión sigue funcionando. Ya puedes cerrar SSH y apagar el ordenador con tranquilidad.
3. Consulta la lista de sesiones
# Mostramos todas las sesiones de Screen del servidor
screen -ls
Desconexión de la sesión y lista de sesiones
En la lista se ve el número y el nombre de cada sesión, por ejemplo 5084.backup, cuándo se creó y su estado:
- Detached – ahora mismo nadie está conectado a la sesión y funciona en segundo plano;
- Attached – alguien está conectado a la sesión en este momento.
4. Vuelve a la sesión
# Nos conectamos a la sesión backup
screen -r backupSe abrirá la misma ventana en la que lo dejaste, y el comando seguirá funcionando como si nada. Si solo hay una sesión, no hace falta indicar el nombre, basta con screen -r.
Si ya estás conectado a la sesión desde otra ventana, por ejemplo porque se cortó la conexión y la antigua se ha quedado «colgada», usa el comando de abajo.
# Desconectamos la sesión de la conexión antigua y nos conectamos de nuevo
screen -d -r backupY para ver una misma sesión desde dos sitios a la vez, por ejemplo junto con un compañero, conéctate con screen -x backup.
5. Trabaja con varias ventanas
En una sesión puedes tener varias ventanas y pasar de una a otra como si fueran pestañas.
- Ctrl + A y luego c – crear una ventana nueva.
- Ctrl + A y luego Shift + A – cambiar el nombre de la ventana actual.
- Ctrl + A y luego " – abrir la lista de ventanas. Elige una con las flechas y pulsa Enter.
- Ctrl + A y luego n o p – ventana siguiente o anterior.
- Ctrl + A y luego un número del 0 al 9 – ir a la ventana con ese número.
- Ctrl + A y luego k – cerrar la ventana actual.

Lista de ventanas de una sesión
6. Divide la pantalla
Screen puede mostrar varias ventanas a la vez. Por ejemplo, a la izquierda va un comando largo y a la derecha ves la carga del servidor.
- Pulsa Ctrl + A y luego | para dividir la pantalla en vertical, o Ctrl + A y luego Shift + S para dividirla en horizontal.
- Pasa a la nueva mitad con Ctrl + A y luego Tab.
- La nueva mitad está vacía. Abre en ella una ventana pulsando Ctrl + A y el número de la ventana, o crea una nueva con Ctrl + A y luego c.

A la izquierda funciona ping, a la derecha top
Para cerrar la mitad actual pulsa Ctrl + A y luego Shift + X.
Para quedarte solo con ella pulsa Ctrl + A y luego Shift + Q.
Las ventanas en sí no se cierran.
7. Cierra la sesión
Cuando termines la tarea, cierra todas las ventanas con exit y la sesión terminará sola. También puedes cerrar la sesión entera desde fuera, sin conectarte a ella.
# Cerramos la sesión backup junto con todas sus ventanas
screen -S backup -X quitTrucos útiles
Lanzar directamente en segundo plano
Para ejecutar un comando en Screen sin entrar en la sesión, usa las opciones -dm. Es muy práctico para lanzar bots y scripts.
# Creamos la sesión bot y ejecutamos en ella un script sin conectarnos
screen -dmS bot python3 bot.pyDesplazarse hacia arriba
Dentro de Screen la rueda del ratón normalmente no recorre el historial. Pulsa Ctrl + A y luego [, y desplázate con las teclas PgUp y PgDn o con las flechas. Para salir del modo de desplazamiento pulsa Esc.
Guardar la salida en un archivo
Si inicias Screen con la opción -L, todo lo que aparezca en la ventana se irá guardando en el archivo screenlog.0 de la carpeta actual.
Chuleta
| Comando | Qué hace |
|---|---|
screen -S nombre | Crear una sesión con nombre |
screen -ls | Mostrar todas las sesiones |
screen -r nombre | Volver a una sesión |
screen -d -r nombre | Quitarle la sesión a una conexión antigua |
screen -x nombre | Conectarse a una sesión entre dos personas |
screen -dmS nombre comando | Ejecutar un comando en una sesión en segundo plano |
screen -S nombre -X quit | Cerrar una sesión |
| Ctrl + A, d | Desconectarse sin detener los comandos |
| Ctrl + A, c | Ventana nueva |
| Ctrl + A, " | Lista de ventanas |
| Ctrl + A, n / p | Ventana siguiente y anterior |
| Ctrl + A, | / Shift + S | Dividir la pantalla |
| Ctrl + A, Tab | Pasar a otra parte de la pantalla |
| Ctrl + A, [ | Desplazarse por el historial |
| Ctrl + A, ? | Ayuda con todas las combinaciones |
Preguntas frecuentes
Aparece «There is no screen to be resumed matching»
No hay ninguna sesión con ese nombre. Comprueba el nombre exacto con screen -ls. Si la lista está vacía, la sesión ya ha terminado, por ejemplo porque el comando que había dentro acabó o porque el servidor se reinició.
La sesión aparece en la lista, pero screen -r no se conecta
Si junto a la sesión pone Attached, ya hay otra ventana conectada a ella, y a menudo es una conexión antigua que se cortó. Conéctate con screen -d -r nombre, que desconecta la ventana antigua y te abre la sesión a ti.
¿Se conservan las sesiones al reiniciar el servidor?
No. Al reiniciar se detienen todas las sesiones de Screen y los comandos que se ejecutaban en ellas. Para programas que tienen que funcionar siempre e iniciarse solos tras un reinicio, es mejor configurar un servicio de systemd.
Ctrl + A ya no lleva el cursor al principio de la línea de comandos
Screen intercepta esa combinación. Para enviar el propio Ctrl + A al programa de la ventana, pulsa Ctrl + A y luego a.
¿En qué se diferencia Screen de tmux?
Los dos programas resuelven lo mismo. Screen es más sencillo y muchos administradores ya lo conocen.
tmux es más moderno y más flexible de configurar.
Para que un comando no se detenga al desconectarte de SSH, te sirve cualquiera de los dos.
Nuestros recursos
Canal de Telegram: https://t.me/f3cloud_news
Web del hosting: https://f3cloud.com