Linux

/etc/profile 不應該在圖形 linux 環境下至少獲取一次嗎?

  • October 7, 2010

使用 Gentoo 和 KDE 4,打開 Konsole 或 xterm 不會在 /etc/profile 中提供已定義的內容。該文件通常由登錄 shell提供,但在圖形環境中什麼可以被視為登錄 shell?這應該在 X 會話之前獲取嗎?是否應該使用bash –login設置 Konsole 的外殼?這是一個錯誤嗎?

謝謝你的幫助。

這取決於。

除非 shell 作為“登錄 shell”啟動,這是系統向 shell 發出信號的方式,即這是使用者第一次與電腦進行此會話的互動,否則它會作為“子”shell 啟動。

“登錄”shell 從設置的任何控制機制(/etc/profile、/etc/profile.d/,通常是本地點文件,如 .profile 和 .bashrc(如果是 bash))獲取環境。

“子”shell 只是繼承其父級的環境,但有時也會執行一些點文件,具體取決於它們的配置方式。

在大多數配置了 X 的系統中,點文件的來源是任何啟動視窗管理器和 xterms 或 konsoles 的程序或任何繼承自該程序的程序。這是因為它不被視為登錄會話,因為您在啟動 konsole 時已經登錄。

如果需要,您可以將您的 konsole 設置為執行“bash –login”,但這可能會在稍後執行依賴於使用 –login 參數破壞的環境變數的東西時產生意想不到的副作用。

引用自:https://serverfault.com/questions/87717