Screen, magia para sysadmins

Aun no puedo creer como sobreviví tantos años ignorando la existencia de este hermoso comando, screen, para entender de forma general que es este bicho, veamos como lo describe la Wikipedia, «GNU Screen es un programa informático que puede usarse para hacer Multiplexación de terminales» que en lenguaje mundano, nos trae la posibilidad de tener múltiples sesiones de terminal, dentro de una terminal.

Para los que nos ganamos la vida administrando servidores, siempre es un dolor de huevos cabeza creer que solo puedes hacer una cosa a la vez dentro de una sesión de terminal (sin meternos con ejecución de procesos en background) y si queremos hacer algo al mismo tiempo nos tenemos abrir otra sesión, lo que implica abrir otra pestaña en nuestro emulador de terminal y conectarnos nuevamente por ssh al server, y así por cada ventana que queramos tener en dicho equipo. Otro ejemplo molesto es tener que dejar tu sesión de ssh colgada porque estas realizando un copiado, ejecutando un script, o cualquier otra mamada actividad.

Ahora que pasaría si os digo que screen viene a resolver todos estos problemas, pues bien, los resuelve y no solo eso, la analogía mas clara de screen es cuando los navegadores web popularizaron la navegación por pestañas; en fin para comenzar a usarlo es tan sencillo como escribir screen y dar enter, ahora ya estas dentro del entorno, por llamarle así, de screen.

Dentro de esta sesión creada por screen podemos trabajar como normalmente lo hacemos, tirar comandos, realizar copias, ejecutar scripts, conectarnos a un IRC, etc. puedes abrir tantas «pestañas» nuevas dentro de screen como necesites, y la magia esta en que puedes salir de screen sin matar todos estos procesos que estas realizando, incluso matar tu sesión ssh, regresar dias después, abrir tu sesión de screen previamente creada y continuar como si nada hubiese pasado, para eso les dejare unos cuantos ejemplos de cosas útiles para sacarle jugo a screen:

#Nueva sesión de screen con nombre:
screen -S [nombre]
#Listar sesiones de screen abiertas:
screen -ls
#Conectarse a una sesión de screen (dos opciones):
screen -x [ID sesión]
screen -r [nombre]
#Desenlazar una sesión que se quedo abierta:
screen -d [nombre o ID]

Dentro de screen podemos ejecutar instrucciones para movernos entre las «pestañas», crearlas, desenlazar la sesión, etc.. La forma de ejecutar instrucciones es presionar Ctrl+a y después sin soltar Ctrl presionar la letra correspondiente al comando, los que considero mas útiles para aprenderlos de memoria, son los siguientes:

#Desenlazar la sesión (no la mata, esto sirve para retomarla después):
Ctrl+a d
#Crear una nueva ventana o "pestaña":
Ctrl+a c
#Cambiar a la siguiente ventana o "pestaña":
Ctrl+a n o Ctrl+a <barra espaciadora>
#Cambiar a la ventana o "pestaña" anterior:
Ctrl+a p o Ctrl+a <retroceso>
#Ver ventanas o "pestañas" en lista:
Ctrl+a "
#Renombrar ventana o "pestaña" (le da sentido al anterior):
Ctrl+a A

Se pueden hacer muchas mas cosas como dividir la pantalla, copiar entre ventanas y mucho mas, para ese nivel de detalle les recomiendo consultar la ayuda del comando o si gustas podemos platicar en el IRC de Freejolitos, si tienes dudas de como conectarte al IRC acude al FAQ.

Sean felices!

:wq!

 


Publicado

en

,

por

Etiquetas:

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *