К сожалению, это поведение жестко запрограммировано в источнике: этот же тест используется для определения того, следует ли отправлять уведомление «Новый экран ...», и для определения необходимости присоединения к запущенному сеансу. (На экране источника 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
сообщение выбирает для отображения , когда он начинает, не только бесполезно «Новый экран ...» один.