Не можете выбрать домашний каталог для JDK, потому что IntelliJ его не видит? - PullRequest
0 голосов
/ 03 февраля 2019

Моя система - Linux Mint 18.3 Cinnamon 64-bit.

Я установил IntelliJ-IDEA и Default-jdk (openjdk-8-jdk) с помощью диспетчера программного обеспечения.

Я могуПосмотрите, что я считаю папкой JDK в /usr/lib/jvm/java-1.8.0-openjdk-amd64 или / etc / java-8-openjdk при просмотре с помощью Nemo или терминала.Но это не имеет значения, потому что IntelliJ не видит ни одну из этих папок.На самом деле, при попытке «Выбрать домашний каталог для JDK» IntelliJ, кажется, имеет видимость только 14 подпапок (из сотен) в /usr/lib.

Даже не уверен, как запустить IDEA из команды-линии, использующие sudo, например, для проверки того, что проблема связана с разрешениями, поскольку она, очевидно, запускается альтернативно через flatpak.

Похоже, это должно быть просто.Я не уверен, что делаю не так.

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

У меня была такая же проблема с IntelliJ, установленным с Flatpak на Fedora 29. Я считаю (но поправьте меня, если я ошибаюсь), что менеджер программного обеспечения Linux Mint также использует flatpaks.

Оказывается, это одна из тех ситуаций, в которых «это функция, а не ошибка» из-за того, как работают приложения для песочниц Flatpak.Согласно документации на http://docs.flatpak.org/en/latest/sandbox-permissions.html:

Разрешения песочницы Одна из основных целей Flatpak - повысить безопасность настольных систем путем изоляции приложений друг от друга.Это достигается с помощью песочницы и означает, что по умолчанию приложения, работающие с Flatpak, имеют крайне ограниченный доступ к среде хоста.Это включает в себя:

Нет доступа ни к каким файлам хоста, кроме среды выполнения, приложения и ~ / .var / app / $ APPID.Только последний из них доступен для записи.Нет доступа к сети.Нет доступа к каким-либо узлам устройства (кроме / dev / null и т. Д.).Нет доступа к процессам вне песочницы.Ограниченные системные вызовы.Например, приложения не могут использовать нестандартные типы сетевых сокетов или отслеживать другие процессы.Ограниченный доступ к экземпляру сеанса D-Bus - приложение может иметь только собственное имя на шине.Нет доступа к хост-службам, таким как X11, системная шина D-Bus или PulseAudio.Большинству приложений потребуется доступ к некоторым из этих ресурсов, чтобы быть полезными.В основном это делается на этапе завершающей сборки, который можно настроить через раздел finish-args файла манифеста (см. Манифесты).

Одним из способов решения этой проблемы является установка версий JDK с использованием flatpak какну например

flatpak install flathub org.freedesktop.Sdk.Extension.openjdk9 org.freedesktop.Sdk.Extension.openjdk10 org.freedesktop.Sdk.Extension.openjdk11

Другим способом решения этой проблемы является решение, предоставленное CrazyCoder, которое заключается в установке IntelliJ с использованием их tar.gz.Это полностью устраняет все ограничения в песочнице.

0 голосов
/ 03 февраля 2019

Вы можете попробовать установить IntelliJ IDEA отсюда и посмотреть, работает ли он лучше..tar.gz Дистрибутив можно запустить с помощью ./idea.sh.Обратите внимание, что вы также можете создать скрипт запуска, используя Tools |Create Command-line Launcher.Это должно работать с любой версией.

...