Как я могу открыть JAVA_HOME для приложений, работающих под X и / или Gnome?

Я пытаюсь запустить IntelliJ из меню приложений Gnome3, но он жалуется, что переменная JAVA_HOME не установлена.

У меня есть установка Java в моей домашней папке.

Мне удалось экспортировать переменную в моем ~/.bashrc :

 export JAVA_HOME=~/jdk1.6.0_32 

и я успешно побежал IntelliJ из командной строки.

Я думал, что это нормально, что конфигурация игнорируется, поскольку Gnome не должен предполагать, что мы используем bash, не так ли?

Я надеялся, что .profile будет правильным местом для использования, но это, похоже, не имеет никакого эффекта.

3 Solutions collect form web for “Как я могу открыть JAVA_HOME для приложений, работающих под X и / или Gnome?”

В соответствии с Wiki в Ubuntu на переменные среды в ~/.pam_environment или в /etc/environment , в зависимости от того, что вы хотите для всех пользователей или просто для пользователя.

Общие переменные окружения

Параметры переменных среды, которые должны влиять только на конкретного пользователя (а не на систему в целом), должны быть установлены следующим образом:

~/.pam_environment – этот файл специально предназначен для настройки среды пользователя. Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку.

Примечание. Использование .pam_environment требует повторного входа для инициализации переменных. Перезапустить только терминал недостаточно, чтобы использовать переменные.

А также

Общесистемные переменные среды

Параметры переменной окружения, которые влияют на систему в целом (а не только на конкретного пользователя), не должны размещаться ни в одном из многих сценариев системного уровня, которые выполняются при загрузке системы или рабочего стола, а в

/etc/environment – Этот файл специально предназначен для общесистемных параметров среды. Это не файл сценария, а скорее состоит из выражений присваивания, по одному на строку. В частности, этот файл хранит общесистемные настройки языка и пути.

Чтобы переменные среды отображались внутри приложений X11, вы начинаете с меню GNOME, вы можете экспортировать эту переменную в /etc/X11/xinit/xinitrc . Этот файл создается при запуске Xsession.

На самом деле, мне легче использовать файлы на рабочем столе, чтобы установить JAVA_HOME для исполняемого файла. В качестве примера для IntelliJ, являющегося моим JAVA_HOME в / opt / java и установкой моей идеи в / opt / idea, я бы использовал файл рабочего стола, содержащий:

 [Desktop Entry] Type=Application Name=Idea Comment=IntelliJ Idea Icon=/opt/idea/bin/idea.png Exec=env JAVA_HOME=/opt/java /opt/idea/bin/idea.sh Terminal=false Categories=Development;IDE;Java; StartupWMClass=jetbrains-idea 

Затем вы можете использовать этот файл рабочего стола в любой среде рабочего стола.

Изменить: забыл указать вам сохранить файл * .desktop в ~ / .local / share / applications, чтобы он мог найти и использовать его в среде рабочего стола Gnome.

  • Вызов программ Java без суффикса .class
  • Как память RES, сообщенная для процесса Java, будет выше, чем память VIRT?
  • Мертвые ключи, не работающие в приложениях Java Swing
  • После обновления Ubuntu до 16.04 из-за проблем с драйвером NetBeans и Eclipse перестали работать
  • В чем смысл.: В этом заявлении linux?
  • Плохая производительность с Java
  • Как запустить Java-процесс, который будет рассматриваться не как «java ...» в списке процессов?
  • Что такое команда для проверки версии Java ME, которую я установил?
  • Проблемы, связанные с оболочкой Tanuki Java Service версии 3.1.2 в архитектуре armv5tel
  • Несколько версий Java на одном ПК
  • Debian Linux - запускать скрипт / приложение при загрузке
  • Interesting Posts

    Отмена / отключение CTRL + ALT + F #

    Как устанавливаются шрифты по умолчанию для таких программ, как FireFox?

    Создание каталога, защищенного от 'rm -rf'

    Как преобразовать VMDK в VDI / VHD

    Поведение rm – как предотвратить удаление содержимого установленных точек

    Как я могу вызвать событие в сценарии оболочки при удалении USB-устройства?

    Создал ядро ​​с поддержкой NFS, но не получал / dev / nfs

    ограничение удаленного входа vpn на ip-адрес в CentOS 7

    Использование имени приложения в команде pipe из Mutt

    Контур Loop в текстовых файлах

    Как удалить двойные кавычки из файла, но не внутри двойных кавычек

    Создание eth0 с последовательным присвоением сетевых устройств

    Найти и перенаправить для получения имени файла шаблона

    имя файла для файлов с идентификатором процессора и временным шагом должно включать имя файла

    Не удалось apt-get обновить mariadb, но dist-upgrade работает? почему это?

    Linux и Unix - лучшая ОС в мире.