某些情况下某些环境变量无法加载

某些情况下某些环境变量无法加载

这真是太奇怪了。我在 .bashrc、.bash_profile、.profile、/etc/profile 和 /etc/profile.d/ 中设置了环境变量 TEST - 任何正常的计算机都可能在其中查找它:

TEST=successfull
export TEST

当我打开终端窗口时,输入“echo $TEST”或“env”就可以很好地显示这个变量的值。

但是,当我双击 .desktop 文件时,环境变量不存在。而且,奇怪的是,当我用包含以下内容的简单文件启动 geany 时

#!/bin/bash  
env
echo $TEST

,然后按 F5 执行它,它会打开一个终端窗口 - 并且它不会显示 TEST 的值。如果我从任何终端窗口启动同一个文件 - 环境变量就会像预期的那样出现!

这让我很困扰,因为它不合逻辑,而且会阻止 steam 运行 - steam 需要变量 LD_LIBRARY_PATH。我在终端中输入“steam” - 一切都加载正常。但如果我双击任何 steam 图标 - 它只会使用一些参数执行“steam” - 什么也不会发生 - 因为它找不到它的 LD_LIBRARY_PATH。

我运行安装了所有更新的 Linux Mint LMDE。无论“gnome-terminal”还是“mate-terminal”充当 GUI 前端,都会出现同样的问题。

你能重现吗?如果能,错误在哪里?

答案1

您的桌面应用程序似乎没有继承您设置的变量。尝试将:export TEST=successfull放入您的 ${HOME}/.xinitrc,然后重新启动 X,看看是否有效。

答案2

您必须将变量放入/etc/environment

相关内容