Solo para ampliar lo que dijo Ansgar en caso de que no esté muy familiarizado con la pantalla gnu, es probable que tener múltiples "ventanas" en una sola sesión de pantalla logre lo que necesita.
ctrl+ a, ccreará una nueva "ventana" en su sesión de pantalla activa. Puede alternar entre varias ventanas (como indicó Ansgar) con ctrl+ a, npara la siguiente ventana, y ctrl+ a, ppara la ventana anterior.
ctrl+ a, "le dará una lista de todas sus ventanas abiertas.
El uso de estos atajos sencillos le permitirá cambiar entre diferentes terminales de manera muy rápida y fácil, logrando su objetivo sin usar múltiples sesiones de pantalla.
Si agrega la siguiente línea a ~ / .screenrc, siempre mostrará sus ventanas abiertas y cuál está seleccionada, por lo que no es necesario que recuerde en qué ventana se encuentra.
hardstatus alwayslastline '%{= kg}[ %{G}%H %{g}][%= %{= kB}%?%-Lw%?%{+b r}(%{G}%n*%f %t%?(%u)%?%{r})%{-b B}%?%+Lw%?%?%= %{g}%]'
Esta es la línea hardstatus que me gusta usar, pero es completamente personalizable (vea la página de manual o busque en google "gnu screen hardstatus").
Hay muchas otras cosas que puede hacer con él (nombrando las diferentes ventanas abiertas, por ejemplo), por lo que vale la pena leer algunos tutoriales.
Aquí hay una pareja que encontré con una búsqueda rápida:
http://news.softpedia.com/news/GNU-Screen-Tutorial-44274.shtml
http://www.ibm.com/developerworks/aix/library/au-gnu_screen/
Y, por supuesto, el más útil de todos:
# From your terminal:
$ man screen
Espero que ayude.
Mateo
^a
a otra cosa, por lo que no es ridículamente molesto usar la edición de líneas de estilo emacs en bash, cualquier otra cosa. Yo uso^t
.Lo que dicen los demás es correcto. Sólo quiero mencionar
tmux
es una alternativa ascreen
. Tienen comandos muy similares.Ambos
screen
ytmux
ofrecen múltiples ventanas para una sesión en ejecución, y esto es probablemente lo que desea.tmux
además ofrece saltos entre varias sesiones (cada una con sus propias ventanas). Necesitarías eso muy raramente.Aquí hay algunos enlaces a la documentación de la pantalla y un curso intensivo sobre tmux .
fuente
Después de tanto tiempo, hice un script para solucionar esta característica que faltaba por completo. Antes que nada necesita un fifo:
Esta canalización con nombre es útil para la comunicación entre la sesión separada y la sesión "Principal sin pantalla".
Archivo sc (en $ PATH):
Un ejemplo de un "CONFIGFILE" es: ~ / .screen / Monitorrc
El resultado es: cuando desea iniciar el tipo de pantalla:
u otra sesión que quieras inventar, yo uso el trabajo de sesión para varias cosas
Ej: ~ / .screen / Workrc
Ahora estamos en el Monitor de sesión, cuando escribimos:
el monitor de sesión se separa y escribe "Trabajo" en la tubería nombrada. En consecuencia, el primer script sc avanza y adjunta la sesión "Trabajo".
El sc invocado desde la sesión Monitor se cierra.
Cuando separamos todas las sesiones, estamos en un bucle infinito, así que tenemos que hacer Ctrl-c para salir.
fuente
Puede hacer esto con un simple script de shell como
Supongamos que tiene pocas pantallas abiertas. Supongamos también que los tiene categorizados como trabajo y datos.
Al aplicar
screen -ls
, deberías tener tus pantallas asíAhora vamos a aislar las pantallas separadas usando
grep
.Deberías obtener algo como esto
Ahora seleccionemos los que desee (por ejemplo, datos), nuevamente usando
grep
.Esto aislará solo las pantallas de datos. Puede cambiar la palabra clave grep con expresiones regulares para buscar y personalizar su búsqueda.
Afortunadamente, el resultado está bien estructurado y delimitado por tabuladores. Ahora vamos a dividir las columnas en campos y elegir el segundo campo usando
cut
.Deberá presionar la
ctrl+v
pestaña y luego insertar untab
parámetro después del delimitador-d
. Los resultados deberían ser así.Ahora empaque esto en un comando usando las
...
comillas y repita los resultados de esta manera. Compruebe siempre los comandos formulados primero antes de ejecutarlo realmente. solíaecho screen -r
Si todo va bien, pruébalo sin él
echo
.Voila Cada pantalla de la que se separa lo lleva a la siguiente.
Feliz proyección !!
fuente
Escribí un script de nodo para permitir al usuario seleccionar la sesión de pantalla para adjuntar desde una lista, usando las teclas de flecha. Lo hice un paquete npm. Puedes verlo aquí: comando de pantalla . O simplemente
npm i -g screen-command
para probarlo, suponiendo que ya tenga node.js instalado. Después de instalar el paquete, use el comandosc
para invocar la lista de pantallas.Espero que esto facilite el cambio a la pantalla exacta que deseas.
fuente