К сожалению, это поведение жестко запрограммировано в источнике: этот же тест используется для определения того, следует ли отправлять уведомление «Новый экран ...», и для определения необходимости присоединения к запущенному сеансу. (На экране источника 4.0.3 (rflag && (rflag & 1) == 0) в attacher.c и screen.c - rflag равен 1 для -r плюс 2 для каждого -R .)
Если вы хотите перекомпилировать, патч тривиален: удалите строку, которая отображает сообщение из screen.c .
Вы можете заставить сообщение исчезнуть, набрав что-то. Если вы не хотите вводить ключ, который попадет в приложение в окне экрана, вы можете ввести C-a ` или какой-либо другой несвязанный ключ.
Простой обходной путь заключается в том, чтобы немедленно отключить сеанс экрана (либо с помощью C-a d либо с помощью команды detach в файле screenrc ; -m в командной строке не работает для этого, когда также указан -R ), а затем присоединить к это снова (например, выполнив ту же команду снова).
Действительно хитрый, но полностью автоматизированный обходной путь - включить следующие строки в файл screenrc чтобы пропустить сообщения вначале и повторно включить их через секунду:
msgwait 0
screen -t post_initialization 39 sh -c 'sleep 1; screen -X msgwait 5'
(39 - максимально возможный номер окна, это опция времени компиляции (MAXWIN).)
Обратите внимание , что оба обходные скроет любой screen сообщение выбирает для отображения , когда он начинает, не только бесполезно «Новый экран ...» один.