「screen」呼び出しの前後の「env」に違いがあることがわかりました。呼び出される内容(環境変数の設定用)についての追加の説明はありますか?
「man screen」のクイック検索で明確な説明を見ることはできません。
このトピックに関するいくつかのGoogleクエリ:
http://alan.lamielle.net/2009/03/09/environment-variables-and-gnu-screen
より具体的なサブ質問は、通常のログインと比較してスクリーンセッションでインスタンス化されていません。
答え1
プロセスは親プロセスから環境変数を継承します。つまり、最初に呼び出されたときscreen
(新しいプロセスの作成)、親プロセスのすべての環境変数のコピーがあります。これで、、、screen
などのいくつかの変数を調整/作成します。環境変数を有効/調整または削除することもできます。COLUMNS
LINES
TERM
TERMCAP
WINDOW
STY
screenrc
setenv
unsetenv
一部のシステムでは、screen
更新用の setuid または setgidutmp
そしてwtmp
;これにより、起動時に環境からより多くの変数が削除されますscreen
。LD_LIBRARY_PATH
既存のセッションに接続している場合、プロセスはすでに存在し、独自の環境変数(以前にプロセスを開始した時点から)があるため、screen
環境変数はコピーされません。screen
つまり、変更した環境変数は、以前の環境変数を持つ親プロセスからコピーされるため、画面で開始されたプロセスには表示されません。