Jugando con screen, un manejador de sesiones Linux
El otro día, en el trabajo, me recomendaron el uso de screen para manejar terminales Linux, así que me puse a investigar de que se trataba.
GNU Screen es una herramienta destinada a la terminal de Linux con la que se puede crear y manejar varias sesiones y programas de manera simultanea desde una sola terminal.
Pero además, permite cerrar la terminal y volverse a conectar a la sesión de screen que conservará las "terminales virtuales" que tuviéramos abiertas.
Aquí dejo su sintaxis de ejecución y algunas de sus opciones más útiles. Más adelante veremos como manejarse una vez lanzada una sesión.
$ screen -S nombreDeLaSesion
# OPCIONES
# -S sockname Da nombre a la sesión [pid].sockname.
# -ls Lista las sesiones abiertas de screen.
# -r Reattach a un sesión. Es posible especificar el nombre
ej: screen -r sockname
# -t título Permite dar un título a una ventana.
Creando una nueva sesión de screen
$ screen -S nginxSetup -t virtualHost
Con este comando creamos una nueva sesión de screen (nginxSetup) con una nueva ventana (virtualHost). En una sesión de screen podemos crear multiples ventanas.
$ screen -t startScript
Dentro de una sesión
Estas son algunas de las combinaciones posibles para manejarse dentro de una sesión de screen.
Manejo de las ventanas
Con estas combinación de teclas nos podemos desplazar por las ventanas creadas con screen -t.
Ctrl-a ? Ayuda y sumario de funciones
Ctrl-a c Crear una nueva ventana (sin nombre).
Ctrl-a Ctrl-n Cambiar a la Siguiente o Anterior terminal
Ctrl-a Ctrl-N Cambiar a la Siguiente o Anterior terminal N [0-9]
Ctrl-a ” Lista navegable de terminales en funcionamiento
Ctrl-a a Limpiar un Ctrl-a pulsado por error
Ctrl-a Ctrl-d Desconectar y dejar la sesión en funcionamiento
Ctrl-a x Bloquear todas las terminales con una clave
Dividir screen
Ctrl-a S Divide horizontalmente
Ctrl-a tab Salta a la siguiente zona
Ctrl-a X Cerrar la zona actual
Ctrl-a Q Cerrar todas las zonas excepto la actual
Salir de screen
Ctrl-a d Dettach. Sale de la sesión pero la deja en segundo plano
junto a todas sus ventanas.
exit Cierra la ventana actual. Cerrando todas las ventanas
se cierra la sesión de screen.
Opciones de copiado
Ctrl-a + [ Entrar en modo copia/scroll.
Enter Comenzar la selección de texto / Finalizar la selección
de texto, copiar y salir modo copia/scroll.
Cursor Desplazamiento del cursor selecciona el texto a
copiar (si estamos en modo copia/scroll).
ESC Salir del modo copia/scroll sin copiar nada.
Ctrl-a + ] Pegar el texto copiado.
Desde luego una herramienta muy poderosa y muy útil para trabajar con terminales Linux.