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.
* 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 on» nos dira multiuser mode enabled
y ahora hay que darle permiso a ese usuario para que pueda entrar:
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.