¿Cómo se ejecuta una pantalla de GNU dentro de una pantalla de GNU?

16

¿Es posible ejecutar una pantalla gnu dentro de una pantalla gnu? No estoy seguro de cómo funcionarían las combinaciones de teclas. Necesito iniciar sesión en un servidor que ya está ejecutando una sesión de pantalla, desde una sesión de pantalla local.

dan
fuente

Respuestas:

16

Simplemente presione ctrl-a seguido de una a para enviar realmente el ctrl-a a la instancia de pantalla anidada.

psusi
fuente
3
No, como RobM señala correctamente, debe escribir ctrl-a a para enviar ctrl-a a la pantalla anidada.
Jaap Eldering
17
Yo dawg Escuché que te gustan las pantallas, así que puse un ctrl-a en tu ctrl-a para que puedas filtrar mientras haces la pantalla.
1
También funciona para códigos reasignados; mi disparador es ctrl-g (porque me gusta que ctrl-a vaya al comienzo de una línea en bash), así que en la sesión anidada; ctrl-g g 2selecciona la ventana 2 en la pantalla anidada, ctrl-g 1selecciona la ventana 1 en la pantalla inicial.
jaygooby
10

Sí, es posible. Deberá redefinir screenel carácter de escape, por ejemplo, configurarlo Ecuando llamescreen

screen -e^Eq
Benjamin Bannier
fuente
Esta es una mejor respuesta, y lo que estaba buscando. Solo quería saber cómo configurarlo correctamente, NO cómo solucionarlo. ¿Por qué presionar más teclas que tiene que hacer? Vuelva a vincularlas en el nido para que sepa con seguridad qué pantalla controla.
Brian Thomas
9

Si borra la $STYvariable de entorno, la ejecución screencomenzará una sesión anidada .

Luego debe enviar un literal ^aa la sesión anidada antes de utilizar cualquiera de sus enlaces. Puede enviar una literla ^apresionando ^aseguido de a(simple).

Así que para crear una nueva ventana en la sesión anidada tendría que pulsar ^a, a, c.

RobM
fuente
4

'Ctrl-a a' envía un ctrl-a a la pantalla anidada.

por ejemplo, si desea agregar una nueva pestaña, haga 'ctrl-a ac'

si desea desconectar: ​​'ctrl-a ad'

Hugh Perkins
fuente
0

Los comandos funcionan bien si usa ctrl-a a o cambia el carácter de escape. Sin embargo, también preguntó cómo conectar desde dentro de otra terminal. Me tomó un tiempo encontrar esto en línea, pero después de ver la bandera -m lo busqué en el manual.

    -m      cause screen  to  ignore  the  $STY environment variable. With
            "screen -m" creation of a new session is enforced, regardless whether screen is
            called from within another screen session or not. This flag has a special
            meaning in connection with the `-d' option:

    -d -m   Start screen in "detached" mode. This creates a new session but
            doesn't attach to it. This is useful for system startup scripts.

    -D -m   This also starts screen in "detached" mode, but doesn't fork a new
            process. The command exits if the session terminates.

Después de eso probé creando una nueva pantalla con

screen-d -m

y el adjuntarlo desde dentro de la pantalla con

screen -R -D

y funcionó de la manera que quería, creando una nueva pantalla y adjuntándola desde una pantalla. No creo que muchas personas usen esta funcionalidad, pero a veces me quedo sin terminales, por lo que puede ser útil tener pestañas agrupadas en una pantalla separada.

Daniel Darnell
fuente