1

У меня проблема с переменной среды, которую я не могу решить. Я использую Ubuntu (Karmic, 9.10) и захожу через NX (NoMachine) на Mac.

Я добавил несколько переменных окружения в мой файл .bashrc , например:

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

Сидя за компьютером, эта переменная окружения доступна в командной строке, а также для приложений, которые я запускаю из главного меню. Однако при переходе через NX переменная окружения корректно отображается в командной строке, но НЕ при запуске через панель запуска.

В качестве примера я создал простой сценарий оболочки под названием testpath в моей домашней папке:

#!/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

2 ответа2

0

Я признаю, что ничего не знаю о NX. Я дам этому шанс, хотя.

Был ли конкретный пользователь NX создан в вашем /home каталоге? Может быть, есть .bashrc, который нужно изменить там.

Есть ли в /etc файлы конфигурации NX, которые могут позволить вам предоставить переменные окружения?

Вы пытались добавить свои переменные в файл, который автоматически применяется ко всем учетным записям, например /etc /bashrc или /etc/bash.bashrc или /etc /profile?

0

Я никогда не использовал NX, но из того, что я прочитал, он подключается с использованием стандартного SSH. Можно установить переменные среды для сеанса ssh, поместив их в $HOME/.ssh/environment . Попробуйте добавить свой путь к этому файлу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .