==== 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