「画面」は環境変数にどのような影響を与えますか?

「画面」は環境変数にどのような影響を与えますか?

「screen」呼び出しの前後の「env」に違いがあることがわかりました。呼び出される内容(環境変数の設定用)についての追加の説明はありますか?

「man screen」のクイック検索で明確な説明を見ることはできません。

このトピックに関するいくつかのGoogleクエリ:

http://alan.lamielle.net/2009/03/09/environment-variables-and-gnu-screen

https://superuser.com/questions/105954/updating-screen-session-environment-variables-to-reflect-new-graphical-login

より具体的なサブ質問は、通常のログインと比較してスクリーンセッションでインスタンス化されていません。

答え1

プロセスは親プロセスから環境変数を継承します。つまり、最初に呼び出されたときscreen(新しいプロセスの作成)、親プロセスのすべての環境変数のコピーがあります。これで、、、screenなどのいくつかの変数を調整/作成します。環境変数を有効/調整または削除することもできます。COLUMNSLINESTERMTERMCAPWINDOWSTYscreenrcsetenvunsetenv

一部のシステムでは、screen更新用の setuid または setgidutmpそしてwtmp;これにより、起動時に環境からより多くの変数が削除されますscreenLD_LIBRARY_PATH

既存のセッションに接続している場合、プロセスはすでに存在し、独自の環境変数(以前にプロセスを開始した時点から)があるため、screen環境変数はコピーされません。screenつまり、変更した環境変数は、以前の環境変数を持つ親プロセスからコピーされるため、画面で開始されたプロセスには表示されません。

関連情報