Ubuntu 启动器项在 NX 下没有正确的环境变量

Ubuntu 启动器项在 NX 下没有正确的环境变量

我遇到了一个环境变量问题,很难解决。我在 Mac 上运行 Ubuntu (Karmic,9.10),并通过 NX (NoMachine) 进入。

我在文件中添加了几个环境变量.bashrc,例如:

export JAVA_HOME=$HOME/dev/tools/Linux/jdk/jdk1.6.0_16/

在机器上,此环境变量可在命令行上使用,也可以在我从主菜单启动的应用程序中使用。但是,通过 NX 进入时,环境变量在命令行上正确显示,但不是当我通过启动器启动东西时。

作为示例,我创建了一个名为“testpath我的主文件夹”的简单 shell 脚本:

#!/bin/sh
echo $PATH && sleep 5
quit

我授予它执行权限:

chmod +x testpath

然后我在主菜单中创建了一个启动器项,只需运行即可:

./testpath

当我坐在电脑前时,此启动器会运行并显示我放入文件$PATH中变量的所有内容.bashrc(例如$JAVA_HOME等)。但是当我通过 NX 进入时,它会显示完全不同的变量值$PATH,尽管如果我启动终端窗口(仍在 NX 中)并键入export $PATH,它会正确显示。

我猜想这与窗口系统通过 NX 加载哪些文件有关,并且是其他文件。但我不知道如何修复它。

为了记录起见,我还有一个.profile包含以下内容的文件:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
    . "$HOME/.bashrc"
    fi
fi

答案1

我承认我对 NX 一无所知。不过我会尝试一下。

您的 /home 目录中是否创建了 NX 特定用户?也许那里有一个需要修改的 .bashrc。

/etc 中是否有可以让您提供环境变量的 NX 配置文件?

您是否尝试过将变量添加到自动应用于所有帐户的文件中,例如 /etc/bashrc 或 /etc/bash.bashrc 或 /etc/profile?

答案2

我从未使用过 NX,但据我所知,它使用标准 ssh 进行连接。可以通过将环境变量放入 中来设置 ssh 会话的环境变量$HOME/.ssh/environment。尝试将您的路径添加到该文件中。

相关内容