systemadmin.es » Utilidades » screen: Gestión de sesiones de terminal

screen: Gestión de sesiones de terminal

Mediante el comando screen se pueden tanto gestionar las sesiones que hay abiertas realizando acciones como compartirlas para realizar un trabajo colaborativo o enseñar como operar cierto sistema.

Si se ejecuta el comando screen sin parámetros se abre una sessión, en ella se puede trabajar normalmente. Si lo que se desea es dejarla en segundo plano para volver a ella más adelante (si estamos conectados por ssh, incluso desconectando) se debería presionas la combinación: Control-A-D (Manteniendo pulsada la tecla control presionar A y D, una después de otra)

Con esta combinación volveremos a la shell original con este mensaje:

[detached]
jordi@curullons ~ $

Para listar las sessiones que hay abiertas se puede hacer mediante el comando screen -ls

jordi@curullons ~ $ screen -ls
There are screens on:
	8559.pts-0.curullons	(Detached)
	8659.pts-2.curullons	(Attached)
2 Sockets in /var/run/screen/S-jordi.

Pudiendo conectar a ella mediante el comando screen -x. Por ejemplo:

$ screen -x 8659.pts-2.curullons

Evidentemente, este nombre de sesión no es ni amigable ni descriptivo. Mediante la opción -S podemos definir un nombre de sesión mediante el cual es possible atacharse a la sessión. Por ejemplo:

$ screen -S systemadmin.es

En el listado aparecería como:

$ screen -ls
There are screens on:
        8559.pts-0.curullons    (Detached)
        8735.systemadmin.es     (Attached)
        8694.pts-0.curullons    (Detached)
        8659.pts-2.curullons    (Attached)
4 Sockets in /var/run/screen/S-jordi.

Pero solo usando el texto “systemadmin.es” es possible conectarse a la sessión mediante el parámetro -x:

$ screen -x systemadmin.es

Relacionados

Imprimir Imprimir

4 comments to “screen: Gestión de sesiones de terminal”

  1. Una de las caracteristicas que hacen poderoso a screen es que te permite tener varias ventanas dentro de una misma sesion, y una(s) aplicacion(es) corriendo en cada ventana, estas son algunas combinaciones de teclas para el manejo de ventanas:
    ctrl + a + c Crea una ventana nueva
    ctrl + a + p Posicionarse en la ventana anterior
    ctrl + a + n Posicionarse en la ventana siguiente
    ctrl + a + A Renombrar la ventana actual
    ctrl + a + w Listar todas las ventanas
    ctrl + a + [0-9] Posicionarse en la ventana numero 0,1,2,…,8,9 (usar solo un numero)

    Ademas, screen te permite configurar opciones mediante el archivo .screenrc que debes tener en tu home de usuario. Mi .screenrc es como este:
    caption always “%{+b rk}%H%{gk} |%C%a %{yk}%D %d/%m/%Y | %{dk}%-=load: %l %{wk}”
    hardstatus alwayslastline “%{= kw}%-w%{= BW}%n %t%{-}%+w %{+b}”
    startup_message off
    vbell off

    Aunque se ve complicada la sintaxis, este produce una agradable e informativa barra de status en la parte baja de mi sesion.
    Espero les guste/ayude la info, yo sin screen no podria administrar nada remotamente.

  2. Muchas gracias, muy útil!

    Nunca lo he usado para varias ventanas, simplemente abro otra terminal. Tendré que probar a ver si me acostumbro

  3. Tu artículo comenta como crear una sesión con un nombre, pero …

    y si yá tenemos la sesión activa y queremos renombrarla??

    # screen -ls
    There are screens on:
    6596.pts-20.apevia (07/01/10 11:06:39) (Attached)
    5273.tty2.apevia (02/01/10 13:32:20) (Attached)

    Es decir, ¿como renombro ahora la 5723 y la 6596 sin cargarmelas ???

    gracias, un saludo,

  4. Hola,
    Pues la verdad es que no lo se: nunca he renombrado una sesión. He mirado el man pero no lo he visto. Para estas cosas es mejor que preguntes en el foro que hay gente que seguro que lo sabe.

    saludos!

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>