miércoles, 11 de noviembre de 2015

[Adiministración de Sistemas] Utilizando el Comando Screen en Linux


Hoy en clase de Administración de Sistemas, he conocido el comando Screen, y ahora en casa he estado jugando en casa y esto es lo que he averiguado.

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. (es un comando muy utilizado para trabajar en servidores)

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.

En Screen se manejan 3 conceptos:
  • la “sesión“, es un área de trabajo, que se crea cuando ejecutas el comando screen.
     
  • Una ventana, es una shell abierta dentro de una sesión de screen. En una sesión de screen puede haber múltiples ventanas.
  •  
  • Una región, es una división, realizada a una ventana, que dentro contiene otra ventana, uno puede dividir una sesión de screen en 2 o más partes, horizontal o verticalmente y en cada split (porción de una región) desplegar una ventana.
Aquí dejo un ejemplo de su ejecución y algunas opciones muy ú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 SESIONES EN SCREEN:
$ screen -S sesion1 -t virtualHost
 
Con este comando creamos una sesión (sesion1) y creamos también una ventana con el título de 
virtual Host. Una sesión puede tener múltiples ventanas.
 
$ screen -t startScript (Para crear ventanas).
 
DENTRO DE UNA SESIÓN:
 
Estas son algunas de las combinaciones posibles para manejarse dentro de una sesión de screen:

  • VENTANAS:
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 LAS SESIONES:
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. 

  • OPCIONES DE MULTIUSUARIOS:
Para crear una sesión multiusuario, tenemos que crear una sesión y luego habilitar el modo multiusuario:
CTRL+a y escribir “:multiuser on”
 
Luego tenemos que autorizar a los usuarios:
CTRL+a “:acladd [lista de usuarios]”
 
Después tenemos que conectarnos a esa sesión:
# screen -x [nombre de la sesión]  o # screen -r [PID de la sesión]
 
A estos usuarios le podemos poner permisos:
CTRL+a :aclchg soporte -w “#”
 
*La utilidad de las cónsolas multi-usuario es que permiten a algunos  trabajar y otros “ver” lo que uno está realizando, 
los permisos son w:write, r:read y x:execution con los valores “+” (garantizar) y “-” (revocar), luego de 
los permisos viene el número de la ventana donde recibirá los permisos (el símbolo “#” indica “todas las ventanas”).
 
Ver los usuarios conectados por screen:
CTRL+a SHIFT-“+” (CTRL+a “*”)
 
También podemos mandar mensajes entre todos los usuarios:
CTRL+a “:wall [mensaje]”
 
CONCLUSIÓN: Screen es una herramienta muy poderosa que nos permite trabajar en cualquier parte y 
también de manera colaborativa en las terminales Linux.
 
 ¡SI TE HA GUSTADO EL POST COMPARTELO, SI TIENES ALGUNA PREGUNTA O SUGERENCIA PUEDES DEJÁRMELO EN LOS COMENTARIOS!

No hay comentarios:

Publicar un comentario