Запуск из графического интерфейса пользователя против терминала - переменная среды другого пути в Linux
Среда:
- Ubuntu
- Eclipse с плагином EclipseFP http://eclipsefp.github.io/
При открытии EclipseFP, дважды щелкнув в файловом менеджере Nemo пользовательский инструмент с именем htfpp
используемый EclipseFP не найден. Сообщение об ошибке: buildwrapper: could not execute: htfpp
Исполняемый файл htfpp находится в ~/.cabal/bin
а также ~/.cabal/bin
добавляется в $PATH в .bashrc
Открытие терминала, переход к папке EclipeFP cd Software/EclipeFP
и открывая его ./eclipse
плагин работает правильно. Недостатком этого является то, что терминал остается открытым, чтобы EclipseFP оставался открытым.
Написание .sh
Сценарий, который выполняет вышеописанное, не работает, хотя... кажется, что при запуске сценария из графического интерфейса Eclipse неправильно выбирает путь.
Открытие предыдущего .sh
оболочка из терминала работает, хотя.
Похоже, это связано с тем, как Linux/Ubuntu/Cinnamon передает переменную окружения path в запущенный файл из графического интерфейса против терминала.
Любые идеи, как открыть EclipseFP с правильной переменной окружения $PATH, используя ярлык и не оставляя ни одного терминала открытым, пока он работает?
3 ответа
Проблема заключалась в том, что я использовал домашний относительный путь внутри /etc/environment
:
PATH="/opt/ghc/7.8.2/bin:.cabal-sandbox/bin:~/.cabal/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
исправление было использовать вместо этого абсолютный путь (/home/freeman/.cabal/bin
вместо ~/.cabal/bin
):
PATH="/opt/ghc/7.8.2/bin:/home/freeman/.cabal-sandbox/bin:/home/freeman/.cabal/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
После установки этого и повторного запуска откройте исполняемый файл Eclipse непосредственно из графического интерфейса или ярлык работает правильно.
Вы перезапустили сеанс с графическим интерфейсом после PATH
менять?
Среда процесса для вещей, запускаемых вашим средством запуска GUI, является средой самого средства запуска GUI.
Та среда была установлена, когда это началось.
Начиная его снова (убедившись, что PATH
модификация подбирается тем, что запускает сеанс GUI), должна решить эту проблему.
Если вы установите его в.profile, его должны поднять gnome, bash, sh и четвертый.