java - 无法为 JDK 选择主目录,因为 IntelliJ 看不到它?

标签 java ubuntu intellij-idea linux-mint flatpak

我的系统是 Linux Mint 18.3 Cinnamon 64 位。

我已经使用软件管理器安装了 IntelliJ-IDEA 和 Default-jdk (openjdk-8-jdk)。

我可以在 /usr/lib/jvm/java-1.8.0-openjdk-amd64/etc/java-8- 下看到我认为是 JDK 文件夹的内容使用文件管理器 (Nemo) 或终端浏览时打开 openjdk。但这并不重要,因为 IntelliJ 无论如何都看不到任何一个文件夹。事实上,在尝试为 JDK 选择主目录 时,IntelliJ 似乎只能看到 /usr/lib 下的 14 个子文件夹(数百个)。

甚至不确定如何使用 sudo 从命令行启动 IDEA,例如测试该问题是否与权限相关,因为它显然是通过 flatpak 替代启动的。

看起来这应该很简单。我不确定我做错了什么。

最佳答案

正如其他人所说 - 沙盒是一项功能,而不是错误。

我认为@Kevin Dubois 的回答在适用的情况下应该是首选(通过 flatpak 安装你想分享的东西),但如果你想继续使用 flatpak

如何在 flatpak 中找到 /etc/usr 路径:

this末尾所述文档部分:

  • /etc 安装在 /var/run/host/etc 用于 flatpakked 软件
  • /usr 安装在 /var/run/host/usr 用于 flatpakked 软件

您还需要为您的应用授予 --filesystem=host:ro 权限(如果它还没有)(见下文如何操作)。

如果您需要查找或管理其他路径:

注意:通常最好尽可能少地授予软件额外访问权限。这就是为什么在授予对路径的访问权限时最好使用可选 :ro 后缀以使其以只读 方式访问的原因。如果某些软件滥用其对您设备的访问权限,也将承担部分责任。

filesystem permissions reference 中有一些有用的路径变量以及很多关于文件系统权限的附加信息 here .

GUI 选项:

Flatseal看起来很整洁。

命令行选项:

以下示例用于管理 flatpak 应用 com.jetbrains.IntelliJ-IDEA-Community 的路径 /var/lib/gems

检查当前权限:

flatpak info --show-permissions com.jetbrains.IntelliJ-IDEA-Community

授予访问权限:

sudo flatpak override --filesystem="/var/lib/gems":ro com.jetbrains.IntelliJ-IDEA-Community

禁止访问:

sudo flatpak override --nofilesystem="/var/lib/gems" com.jetbrains.IntelliJ-IDEA-Community

将权限重置为初始状态:

sudo flatpak override --reset com.jetbrains.IntelliJ-IDEA-Community

关于java - 无法为 JDK 选择主目录,因为 IntelliJ 看不到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54499133/

相关文章:

java - Spring MVC 资源映射

mysql - Docker percona (mysql mariadb) 容器在定义卷 (-v) 后在 ubuntu 上运行后停止

intellij-idea - intellij中不推荐使用的ReplaceWith在Kotlin中如何工作?

angularjs - 如何在 Intellij 中调试 Protractor ?

intellij-idea - 如何在 Android Studio 中移动(上/下)代码行?

java - 多个应用程序实例日志记录

Java : Unable to change 'Content-Disposition' attribute in the Header for a response

java - Android OpenGLES 1.0 视口(viewport)以错误的分辨率呈现

java - Tomcat 7 无法与 MySQL 5.5 建立数据库连接

ubuntu - GCE 实例崩溃后如何自动重启?