Zrovna jsem měl stejný problém. V nejnovější verzi obrazovky můžete zadat -q
vlajku na tichou obrazovku a zabraňte jejímu zobrazení.
Zdroj ukazuje
if (rflag && (rflag & 1) == 0 && !quietflag)
takže nevím, kde to Gilles našel nebo kdy to bylo změněno.
Toto chování je bohužel pevně zakódováno ve zdroji:stejný test se používá k určení, zda se má odeslat oznámení „Nová obrazovka...“ a k určení, zda se má připojit k běžící relaci. (Ve zdroji obrazovky 4.0.3 (rflag && (rflag & 1) == 0)
v attacher.c
a screen.c
— rflag
je 1 pro -r
plus 2 za každý -R
.)
Pokud jste ochotni provést rekompilaci, oprava je triviální:odstraňte řádek, který zobrazuje zprávu z screen.c
.
Zprávu můžete odstranit tak, že něco napíšete. Pokud nechcete zadávat klíč, který se dostane do aplikace uvnitř okna obrazovky, můžete zadat C-a `
nebo nějaký jiný nevázaný klíč.
Jednoduchým řešením je okamžité odpojení obrazovky (buď pomocí C-a d
nebo pomocí detach
příkaz v screenrc
soubor; -m
na příkazovém řádku to nefunguje, když -R
je také zadáno), pak se k němu znovu připojte (např. opětovným spuštěním stejného příkazu).
Opravdu složité, ale plně automatizované řešení je zahrnout následující řádky do screenrc
soubor, chcete-li zprávy zpočátku přeskočit a po sekundě je znovu povolit:
msgwait 0
screen -t post_initialization 39 sh -c 'sleep 1; screen -X msgwait 5'
(39 je nejvyšší možné číslo okna, je to volba v době kompilace (MAXWIN
).)
Všimněte si, že obě řešení skryjí jakoukoli zprávu screen
vybere zobrazení při spuštění, ne jen zbytečnou „Nová obrazovka...“.