Risposte:
Lo schermo fornisce alcune variabili d'ambiente (dalla screen
manpage (1)):
STY Alternate socket name.
WINDOW Window number of a window (at creation time).
"Al momento della creazione" significa che se rinumerate una finestra (usando il number
comando screen ), la shell non verrà informata della modifica e $ WINDOW sarà sempre lo stesso del primo numero di finestra.
Puoi usare qualcosa come:
PS1='\u@\h(${STY}:${WINDOW}):\w$ '
screen -xr 2466 -X windows
.
Ctrl-a A
?
screen
è stato compilato con l' -Q
opzione (query), quindi è possibile eseguire alcuni comandi, come ad esempio title
e windows
ed avere la visualizzazione dei dati sullo standard output, tuttavia, senza un fine riga.
Uso sempre nomi di sessioni dello schermo precisi. Quindi posso aggiungere lo STY env var dello schermo, con l'id numerico rimosso (grazie a dimo414), su PS1. Non lo decoro con parentesi graffe o altro perché non sono sempre in una sessione. Esempio semplice:
PS1='\u@\h ${STY#[0-9]*.} \w$ '
Lo uso questo:
(`echo ${STY} | sed -e 's/[0-9]*\.//g'`:${WINDOW}:`screen -Q title`)
rimuove il numero di processo da ${STY}
include il numero della finestra (come indicato "al momento della creazione")
include il titolo della finestra (come restituito da screen -Q title
)
Appunti:
screen -Q
attende una sequenza di tasti di ritorno${STY#[0-9]*.}
evita di dover passare attraverso sed
.