Arch-Linux

Archlinux啟動時如何設置環境變數

  • January 26, 2021

當我在 bash 中使用svn客戶端時,我必須首先設置變數SVN_EDITOR,如下所示:

export SVN_EDITOR=cat

所以我認為如果我在啟動時設置環境變數會更容易。我使用的是 Archlinux,所以我參考了 ArchWiki,但在那裡我發現有多種設置變數的方法。

  • 編輯 ~/.bashrc
  • 編輯 ~/.config/systemd.user.conf
  • 使用systemctl --user set-environment
  • 編輯 ~/.profile
  • 編輯 ~/.pam_environment
  • 編輯 ~/.bash_profile
  • 甚至更多。

我是唯一的使用者,所以我不在乎變數是全域設置還是按使用者設置。

在所有的方法中,最好的方法是什麼?什麼是“新標準”?

我正在使用帶有 Gnome 和 budgie 桌面的最新 Archlinux。

非常感謝你。

編輯:正如@jasonwryan 所說,問題類似於如何設置使用者環境變數?(永久,不是會話)

但我也在詢問最“正確”的方法是什麼,我也不確定自那個問題(5年前)以來是否有任何新標準。而且對於某些事情,Archlinux 是很特別的,不知道裡面有沒有什麼特別的方法可以做到這一點。

在 ArchLinux 的情況下,應使用以下文件來定義系統上的全域環境變數 -/etc/environment以及/etc/profile特定於 shell 的配置文件。

這些文件中的每一個都有不同的限制,因此您應該為自己仔細選擇合適的文件。提到幾個案例:

  • /etc/environment- 由 pam_env 模組使用,並且與 shell 無關,因此不能使用腳本或 glob 擴展。該文件只接受variable=value
  • /etc/profile- 僅為登錄 shell 初始化變數。

在您的情況下,只需放入SVN_EDITOR=cat您喜歡的環境變數配置文件(/etc/environment

引用自:https://unix.stackexchange.com/questions/354291