Guía rápida y útil de GNU Screen

Manual GNU Screen: https://www.gnu.org/software/screen/manual/

Arrancar / Asociarse a sesiones GNU screen.

Crear una sesión.

screen -S nombre_sesion
# Dentro de la sesión de screen se puede cambiar el nombre de la misma.
Ctrl+a :sessionname nuevo_nombre_sesion

Unirse a una sesión.

screen -x session_name
screen -r session_name

Desasociarse de una sesión en screen.

Ctrl+a d

Listar sesiones

screen -ls

Borrar una sesion de screen.

screen -X -S xxx.xxxx quit

Teclas rápidas de GNU Screen.

## Comandos

Ctrl+a :	Ejecución de comandos. Tiene historial mediante cursores y autocompletado.

## Ventanas

Ctrl+a c 	Crea una ventana sobre una sesión.
Ctrl+a n	Se dirige a la ventana siguiente.
Ctrl+a p	Se dirige a la ventana anterior.
Ctrl+a "	Muestra un menú para elegir ventana.
Ctrl+a Ctrl+a	Se dirige al último screen usado.
Ctrl+a A	Permite poner un nombre a la ventana.
Ctrl+a k        Elimina / termina / mata una ventana.
Ctrl+a X        Cierra una región (ventana particionada).
C-a \           Elimina todas las ventanas y la sesión screen.
 
## Slices (Regiones).

La nueva regiones aparecen siempre vacías. 
Sobre ellas se puede crear nuevas ventanas (Ctrl+a c) o seleccionar una sesión abierta.

Ctrl+a S 	      Parte la ventana horizontalmente.
Ctrl+a TAB            Se mueve entre esas regiones particionadas.
Ctrl+a |	      Parte la terminal verticalmente. 
Ctrl+a :resize max    Expande el slice al máximo.	 
Ctrl+a :resize 50%    Expande el slice el 50%.
Ctrl+a :resize =      Iguala el tamaño de todos las slices de la ventana.
Ctrl+a X              Cierra una región (slice).
 	 	 
Ctrl+a d	Se desasocia de una sesión, se puede conectar mediante "screen -x" o "screen -r".
Ctrl+a x	Bloquea una sesión solicitando login.

## Copiar / pegar / scrolling.

Ctrl+a [	Entra en modo copia. Scrolling mediante teclas cursor y para copiar / dejar de copiar la tecla espacio.
Esc             Sale del modo copia.
Ctrl+a ]	Pega el contenido copiado, pegado entre ventanas, regiones e incluso sesiones es soportado.

Ctrl+a >	Deja el buffer de copiado accesible a  otras sesiones por medio de un fichero temporal. 
Ctrl+a <	Carga el contenido del fichero desde donde sea y lo deja disponible para pegar con "Ctrl+a ]".

Ctrl+a ?	Muestra las teclas rápidas y su nombre de comandos.

Activar para todas las ventanas ficheros el registro logs.

screen -X at '#' log on

Si se abren nuevas ventanas se debe repetir el comando para empezar a registrar las sesiones.

Visualizar los logs de las ventanas en tiempo real (colores incluidos).

tail -f screenlog.0

Múltiples usuarios sobre la misma ventana.

Si una ventana es compartida por varios usuarios, el tamaño y forma del screen para todos esos usuarios son siempre el de la terminal más pequeña en uso. Este atajo establece el tamaño de la terminal sobre la que se ejecute a todos los usuarios que estén usando dicho screen, sin importar el tamaño de las terminales ajenas.

Lógicamente a la hora de compartir sesiones, la recomendación es que el usuario que tenga el monitor más pequeño ponga la terminal a pantalla completa. En modo comando es equivalente a “Ctrl+a :fit”

Ctrl+a F

Keybindings: Se pueden definir en $HOME/.screenrc

Para obtener la representación de una combinación de teclas, pulsar “Ctrl+V” y posteriormente hacer la combinación de teclas deseada.

# Ctrl+[teclas cursor (arriba / abajo)].
bindkey ^[[1;5A prev
bindkey ^[[1;5B next

# Ctrl+[teclas cursor (izquierda / derecha)].
bindkey ^[[1;5D prev
bindkey ^[[1;5C next