我使用Arch Linux,需要在登录时添加环境变量。我安装了 Plasma、Cinnamon 和 Mate。由于某种原因,当我使用 Mate 时,~/.profile 和 ~/.bash_profile 中的环境变量未设置,但它适用于 Plasma 和 Cinnamon。我还尝试了不同的登录管理器(SDDM、LightDM、GDM3),但没有成功。奇怪的是,这些文件肯定是由 Mate 解析的,因为我在导出后启动了一个应用程序(quicktile)。删除应用程序也不会改变任何内容。如果我在登录后手动获取 ~/.profile ,它就可以工作。
〜/ .bash_profile
#
# ~/.bash_profile
#
[[ -f ~/.bashrc ]] && . ~/.bashrc
[[ -f ~/.profile ]] && . ~/.profile
〜/.profile
export PATH="$HOME/SDI/ct-ng/bin:$HOME/SDI/x-tools/arm-cortex_a8-linux-gnueabi/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH"
quicktile --daemonize &
我将非常感谢任何帮助。
更新澄清:
预期行为(当我登录 Plasma 或 Cinnamon 时确实会发生):
我打开终端并执行位于 ~/.profile 中导出的路径之一内的二进制文件。
我登录 Mate 时遇到的行为:
我打开终端但找不到二进制文件。我必须手动获取 ~/.profile 才能使用它。这会导致 Quicktile 再次加载并因此引发错误,这就是我注意到该文件之前必须已被解析的方式。