Ho appena avuto lo stesso problema. Nell'ultima versione dello schermo, puoi specificare -q
contrassegna su schermo silenzioso e impedisci che venga visualizzato.
La fonte mostra
if (rflag && (rflag & 1) == 0 && !quietflag)
quindi non so dove Gilles l'abbia trovata o quando sia stata cambiata.
Sfortunatamente, questo comportamento è codificato nel sorgente:lo stesso test viene utilizzato per determinare se emettere la notifica "Nuova schermata..." e per determinare se collegarsi a una sessione in esecuzione. (Nella schermata sorgente 4.0.3, (rflag && (rflag & 1) == 0)
in attacher.c
e screen.c
— rflag
è 1 per -r
più 2 per ogni -R
.)
Se sei disposto a ricompilare, la patch è banale:rimuovi la riga che mostra il messaggio da screen.c
.
Puoi eliminare il messaggio digitando qualcosa. Se non vuoi digitare una chiave che raggiunga l'applicazione all'interno della finestra dello schermo, puoi digitare C-a `
o qualche altra chiave non associata.
Una sorta di soluzione semplice consiste nello scollegare immediatamente la sessione dello schermo (o con C-a d
o con il detach
comando nel screenrc
file; -m
sulla riga di comando non funziona per questo quando -R
è anche specificato), quindi collegalo di nuovo (ad es. eseguendo di nuovo lo stesso comando).
Una soluzione davvero goffa ma completamente automatizzata consiste nell'includere le seguenti righe nel screenrc
file per ignorare i messaggi inizialmente e riattivarli un secondo dopo:
msgwait 0
screen -t post_initialization 39 sh -c 'sleep 1; screen -X msgwait 5'
(39 è il numero di finestra più alto possibile, è un'opzione in fase di compilazione (MAXWIN
).)
Tieni presente che entrambe le soluzioni alternative nasconderanno qualsiasi messaggio screen
sceglie di visualizzare all'avvio, non solo l'inutile "Nuovo schermo...".