Cheatsheet de GNU Screen

3 min de lectura·Matthieu

Referencia rápida de atajos de teclado, flags CLI, modo copia y gestión de regiones de GNU Screen.

Gestión de sesiones

Acción Comando
Iniciar sesión con nombre screen -S nombre
Listar sesiones screen -ls
Reconectar a una sesión screen -r nombre
Forzar desconexión y reconectar screen -D -r nombre
Desconectar remoto, reconectar aquí screen -d -r nombre
Conexión multi-display screen -x nombre
Iniciar sesión separada screen -dmS nombre
Eliminar sesiones muertas screen -wipe
Enviar comando a sesión screen -S nombre -X quit
Activar logging desde el inicio screen -L -S nombre

Atajos de teclado

Todos los atajos empiezan con el prefijo Ctrl-a (tecla de escape por defecto).

Atajo Acción
Ctrl-a d Separarse de la sesión
Ctrl-a c Crear nueva ventana
Ctrl-a n Ventana siguiente
Ctrl-a p Ventana anterior
Ctrl-a 0-9 Ir a ventana por número
Ctrl-a " Listar ventanas (interactivo)
Ctrl-a A Renombrar ventana actual
Ctrl-a k Cerrar ventana actual
Ctrl-a ? Mostrar todos los atajos

Gestión de regiones (splits)

Atajo Acción
Ctrl-a S Dividir horizontalmente
Ctrl-a | Dividir verticalmente
Ctrl-a Tab Ir a la siguiente región
Ctrl-a X Cerrar región actual
Ctrl-a Q Cerrar todas las regiones excepto la actual
Ctrl-a :resize +5 Ampliar región 5 líneas
Ctrl-a :resize -5 Reducir región 5 líneas

Los layouts de regiones se pierden al separarse. Recréalos manualmente tras reconectar.

Modo copia

Entra en modo copia con Ctrl-a [ o Ctrl-a Esc. Pega con Ctrl-a ].

Tecla Acción
Flechas / h/j/k/l Mover cursor
Ctrl-u / Ctrl-d Subir / bajar media página
0 / $ Inicio / fin de línea
g / G Inicio / fin del scrollback
/ / ? Buscar adelante / atrás
Space Establecer marca (inicio/fin selección)
Enter Copiar selección y salir
Esc Salir sin copiar

Aumenta el buffer de scrollback por defecto (100 líneas) en .screenrc:

defscrollback 10000

.screenrc esencial

startup_message off
shell /bin/bash
defscrollback 10000
term screen-256color
vbell off
altscreen on
autodetach on
nonblock on
deflogin on
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}]'

Soluciones rápidas

Problema Solución
Sesión atascada como "Attached" screen -D -r nombre
Sesiones muertas en la lista screen -wipe
Terminal congelado (XOFF) Ctrl-a q
Caracteres ilegibles Añade defutf8 on y term screen-256color al .screenrc
Activar logging de ventana Ctrl-a H (logs en screenlog.N)

Para el tutorial completo, consulta Cómo usar GNU Screen en un VPS Linux.