Gnu-Screen
“螢幕”如何影響環境變數?
我注意到在“螢幕”呼叫之前和之後的“env”有所不同,對於呼叫的內容是否有任何額外的清晰度(用於設置環境變數)?
我在“人屏”上的快速搜尋中看不到任何明確的解釋
關於該主題的一些Google查詢:
http://alan.lamielle.net/2009/03/09/environment-variables-and-gnu-screen
我想一個更具體的子問題是,與正常登錄相比,螢幕會話中沒有實例化什麼?
程序從父程序繼承環境變數,這意味著您第一次呼叫
screen
(創建一個新程序)時,它擁有父程序所有環境變數的副本。現在screen
調整/創建一些變數,如COLUMNS
,LINES
,TERM
,TERMCAP
,WINDOW
和STY
. 您還可以screenrc
使用setenv
/調整或刪除環境變數unsetenv
。在某些系統上,
screen
setuid 或 setgid 是為了更新utmp
和wtmp
;然後在啟動時從環境中刪除更多變數screen
,例如LD_LIBRARY_PATH
.如果您附加到現有
screen
會話,則不會複製您的環境變數,因為該screen
程序已經存在並且擁有自己的環境變數(從您之前啟動該程序的時間開始)。這意味著您更改的環境變數在 screen 啟動的程序中不可見,因為它們是從具有舊環境變數的父程序複製的。