erknrio
3/24/2017 - 11:17 AM

Screen, screen -x. Terminales compartidas desde el servidor.

Screen, screen -x. Terminales compartidas desde el servidor.

Introducción

//

Compartir la sesión actual

Empezamos ejecutando screen -ls para ver el listado de sesiones actual. Puede que no veas nada o quizás alguna sesión en segundo plano. En el ejemplo verás una del segundo tipo (detached):

There are screens on:
        20277.pts-1.li271-44    (09/19/2016 04:58:57 PM)        (Detached)

Entramos mediante ssh al servidor. La persona que quiere compartir su terminal ejecuta un screen.

Con screen -ls deberías ver las sesiones abiertas. Lo normal es que veas un nombre extraño con letras y números y al final un texto. Algo como esto:

There are screens on:
        32033.pts-108.li271-44  (03/24/2017 11:07:31 AM)        (Attached)
        20277.pts-1.li271-44    (09/19/2016 04:58:57 PM)        (Detached)

Fíjate en las diferencias con la pestaña anterior porque tendrás que decirle el nombre de tu sesión a la persona que quieras compartirle tu terminal.

Entrar a una sesión existente

Ejecutamos screen -ls para ver el listado de sesiones:

There are screens on:
        32033.pts-108.li271-44  (03/24/2017 11:07:31 AM)        (Attached)

Normalmente debemos fijarnos en el texto Attached y la fecha, siendo la más reciente a la que seguramente queramos unirnos.

Ejecutamos screen -x nombre_sesion para unirnos. En el ejemplo sería de la siguiente forma:

screen -x 32033.pts-108.li271-44

Listo ya podemos ver lo que hace la otra persona y escribir nosotros también.

Cerrar una sesión

Pulsando CTRL + d cerramos la screen. También podemos usar un simple exit.

Pasar una sesión a segundo plano (detach)

En ocasiones podemos estar haciendo operaciones muy pesadas que llevan muchas horas, como un backup o restaurar algo en el sistema.

En este caso podemos crear con screen una sesión y pasarla a modo detach para que siga funcionando en segundo plano. Cuando terminemos con cerrar la sesión será suficiente.

EN CONSTRUCCIÓN Hace falta especificar el comando para hacer detach.