【问题标题】:some environment variables not load under certain circumstances某些环境变量在某些情况下无法加载
【发布时间】:2013-07-28 01:35:38
【问题描述】:

这是最奇怪的。我已经在 .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。我在终端中输入了“蒸汽” - 一切正常。但是,如果我双击任何蒸汽图标——它只不过是使用一些参数执行“蒸汽”——没有任何反应——因为它找不到它的 LD_LIBRARY_PATH。

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

你能复制吗?如果是,问题在哪里?

【问题讨论】:

    标签: linux shell ubuntu terminal linux-mint


    【解决方案1】:

    现在使用 /etc/environment 并重新启动您的 LMDE 会话。 Gnome 从 ~/.gnomerc 或其他地方获取环境,我想 LMDE 也有类似的,但现在 /etc/environment 应该适合你。

    【讨论】:

    • 嗨,~/.gnomerc 不存在,但是,这个解决方案有效!至少对于每个不是 LD_LIBRARY_PATH 的变量 - 这个似乎被阻止了。
    猜你喜欢
    • 1970-01-01
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多