Screen :: Consolas Multiusuario

Improvisa :: Informatica :: Screen, Consolas linux MultiusuarioCon esta aplicacion GNU, se pueden hacer maravillas.

Juanmi explica en este mini howto como realizar procesos en una sesion ssh y que no se «mueran» si perdemos la conexion

Tambien como poder montar «Pantallas» que puedan ser controladas por multiples usuarios conectados a una misma maquina.

La gestion de esa pantalla podra ser realizada por uno de los usuarios y los demas ver o podremos montar las «screen» para que los multiples usuarios interactuen con esa sesion.

Si eres de los que necesitan ayuda o de los que la dan, necesitas leer este documento.

Screen: Gestion simultanea de servidores

En este pequeño howto explicare como montar screen para que distintos usuarios, tantos como queramos, puedan gestionar de forma simultanea, es decir viendo que hace cada uno de ellos, cualquier consola de linux.

Todo esto lo tuve que montar porque al arreglar una maquina con debian necesitaba que el dueño viese que hacia para que de esa forma aprendiese a arreglarlo otra vez el. Buscando por el google encontre algun que otro documento, pero nada especial, hasta que encontre screen.

En principio Screen parece servir nada mas que para hacer «Nohup», para el que no lo sepa, cuando abrimos una sesion ssh contra una maquina linux e iniciamos un proceso, si la sesion se desconecta o simplemente nos salimos sin que ese proceso se haya acabado, el proceso no termina, es matado. La forma de arreglar esto siempre ha sido la utilizacion de nohup.

Screen hace lo mismo que «nohup» pero con mas ventajas.

Instalacion:

Yo utilizo Debian asi que nada mas facil que hacer:

apt-get install screen

Funcionalidades:

* Para hacer lo mismo que hace Nohup tan simple como hacer:

cartero:~# screen

Nos saldra una pantallita de publicidad similar a esta:

Screen version 4.00.02 (FAU) 5-Dec-03

Copyright (c) 1993-2002 Juergen Weigert, Michael Schroeder

Copyright (c) 1987 Oliver Laumann

Pulsamos Return o Space

Y ya estamos en una nueva «Pantalla»

Para salir de esta «pantalla» sin matar sus procesos debes pulsar las teclas «Ctrl a» y luego «d» los procesos que se estaban ejecutando en ella seguiran sin ningun problema.

Si queremos volver a esta pantalla que hemos cerrado escribiremos:

screen -R

Para salir terminando todos sus procesos «Ctrl d»

* Si queremos que otros usuarios conectados al sistema se «enganchen» a esta screen para poder ver lo que hacemos y puedan interactuar los dos contra la maquina haremos lo siguiente:

Esto lo hara cada uno de los usuarios en su sesion suponiendo que los dos son root

primer usuario: screen -S nombredelasesion

segundo usuario: screen -x root/nombredelasesion

Si los usuarios son distintos debemos decirle que acepte a otros usuario, esto lo hacemos de la siguiente forma:

El primero que abrio la sesion debera habilitar la gestion de la pantalla para multiples usuarios, pulsa:

«Ctrl a» y luego «:multiuser o­n» nos dira multiuser mode enabled

y ahora hay que darle permiso a ese usuario para que pueda entrar:

«Ctrl a» y luego «:acladd segundousuario»

* Si queremos que otros usuarios conectados al sistema se «enganchen» a esta screen para poder ver lo que hacemos y NO puedan interactuar los dos contra la maquina haremos lo siguiente:

Hasta aqui tenemos que los dos usuario tienen el control de la sesion, para quitarle permisos de escritura al segundo usuario, imaginad un profesor y estudiantes, utilizaremos el comando:

Ctrl a y luego :aclchg student -w «#»

De esta forma el segundo usuario solo podra ver lo que hace el primero y no interactuar con la sesion.

Nada mas, espero que lo disfruteis.

Juanmi.

Print Friendly, PDF & Email