私はちょうど同じ問題を抱えていました。最新バージョンの画面では、 -q を指定できます フラグを立てて画面を静かにし、表示されないようにします。
ソースは示しています
if (rflag && (rflag & 1) == 0 && !quietflag)
そのため、Gilles がどこでそれを見つけたのか、いつ変更されたのかはわかりません。
残念ながら、この動作はソースにハードコーディングされています。同じテストを使用して、「新しい画面...」通知を発行するかどうかを決定し、実行中のセッションにアタッチするかどうかを決定します。 (画面 4.0.3 ソースでは、(rflag && (rflag & 1) == 0) attacher.c で と screen.c — rflag -r の場合は 1 -R ごとにプラス 2 .)
再コンパイルする場合、パッチは簡単です:メッセージを表示する行を screen.c から削除します。 .
何かを入力して、メッセージを消すことができます。画面ウィンドウ内のアプリケーションに到達するキーを入力したくない場合は、 C-a ` と入力できます または他のバインドされていないキー。
ある種の簡単な回避策は、画面セッションをすぐに切り離すことです (C-a d のいずれかを使用) または detach screenrc のコマンド ファイル; -m -R の場合、コマンドラインでこれが機能しません も指定されている)、再度アタッチします (同じコマンドを再度実行するなど)。
非常に厄介ですが、完全に自動化された回避策は、 screenrc に次の行を含めることです 最初はメッセージをスキップし、1 秒後に再び有効にするためのファイル:
msgwait 0
screen -t post_initialization 39 sh -c 'sleep 1; screen -X msgwait 5'
(39 は可能な最大のウィンドウ番号です。これはコンパイル時のオプションです (MAXWIN )
どちらの回避策でもメッセージ screen が非表示になることに注意してください。 役に立たない「新しい画面...」だけでなく、起動時に表示することを選択します。