使用 PATH 从 CentoS 7 Gnome 桌面启动 JNLP

Launching JNLP from CentoOS 7 Gnome Desktop with PATH

我有一个使用本地 $PATH 变量的 JNLP 应用程序。它从 Web、命令行、菜单系统和 Java 控制面板启动并正常运行。当我从 CentOS 7 上的桌面快捷方式启动它时,$PATH 就是

/bin:/lib:/usr/bin:/usr/lib:/usr/share/bin:/usr/share/lib

不管我在 /etc/profile.d/ 或 ~/.bashrc 或我能找到的任何其他地方放了什么。它似乎只影响 CentOS 7。CentOS 6.x、OS X 和 Windows 从其桌面环境启动时都表现正常。

出于特定应用程序要求的原因,我在 64 位 CentOS 7 上使用 Oracle 的 32 位 Java 1.8.0_60。我已经卸载了 IcedTea,但仍然安装了 OpenJDK 1.7,虽然它没有被 JNLP 应用程序使用,并且备选方案已配置为使用 Oracle 的。

我找到的最佳解决方案是:

  1. 在 Java 控制面板 > 高级设置中禁用快捷方式创建
  2. 创建一个包含以下两行的 shell 脚本:
    source /etc/profile
    javaws < location-of-jnlp >
    
  3. 创建调用 shell 脚本的 .desktop 文件

这不是一个理想的解决方案,但它适用于空头 运行。