Пустая переменная среды внутри приложения

У меня есть переменная окружения, которую я установил в ~/.profile со следующей строкой:

export APPDIR = / path / to / dir

Когда я вхожу в систему и загружаю терминал, я могу убедиться, что переменная установлена:

$ printenv APPDIR

/ path / to / dir

Я пытаюсь получить доступ к этой переменной из приложения Qt:

QString appdir = getenv ("APPDIR");

QTWARNING ("dir: |" + appdir + "|");

Появится всплывающее окно с предупреждением:

dir: ||

Что здесь происходит? Я неправильно понимаю, как переменные окружения работают в Ubuntu?

Это с приложением C ++ / Qt в Ubuntu 11.10 x86.

0
задан 9 April 2012 в 03:58

1 ответ

Если вы запустите программу из терминала, будет установлена ​​переменная окружения; по умолчанию среды рабочего стола Linux не запускаются ~/.profile при настройке графического интерфейса пользователя, поэтому настройки из него доступны только в терминалах. См. Как установить переменную среды в сеансе Unity? для установки переменных среды для среды графического интерфейса (это не относится только к Unity, но работает для любого сеанса X11).

0
ответ дан 9 April 2012 в 03:58

Другие вопросы по тегам:

Похожие вопросы: