Desde la página de manual de la pantalla:
-X Send the specified command to a running screen session. You can
use the -d or -r option to tell screen to look only for attached
or detached screen sessions. Note that this command doesn't work
if the session is password protected.
Básicamente, ejecute
screen -X title mynewtitle
screen -X monitor on
Si el terminal no se está ejecutando dentro de la pantalla , silenciosamente errores:
notinscreen:~$ screen -X title mynewtitle
notinscreen:~$
También puede enviar el comando a una sesión específica, incluso mientras está desconectado.Dada una sesión de pantalla llamado "principal":
$ screen -S main
[detach from screen session]
$ screen -ls
There is a screen on:
2073.main (Detached)
1 Socket in /tmp/uscreens/S-dbr.
.you puede enviado el título de la última ventana activa a blah
:
$ screen -x main -X title blah
..o una ventana específica (denominada en este oldwindow
ejemplo):
$ screen -x main -p oldwindow -X title blah
en lugar de utilizar -x main
puede utilizar el ID de proceso (de screen -ls
), también en lugar de utilizar una ventana Nombre (-p oldwindow
) se puede utilizar un número de la ventana:
$ screen -x 2073 -p 0 -X title h
Si sólo hay una sesión, no tiene que especificar el PID sesión o nombre.
¡Perfecto! ¡Gracias! – Dan
No creo que se requiera el comando "if [-n ..." - el comando de pantalla -X ... silenciosamente errores si no se puede ejecutar – dbr
Con esta técnica creo que me olvidaré del monitoreo, lo haré simplemente cambie el título a foo (hecho) cuando el programa termine. Todavía tengo que descubrir cuándo es un buen momento para que vuelva a cambiar a "bash", ya que nunca he usado títulos y realmente no tengo ganas de cambiarlos manualmente. – Dan