无法使用 .desktop 文件运行 .jar 文件,即使它是从终端运行的

无法使用 .desktop 文件运行 .jar 文件,即使它是从终端运行的

我正在运行 32 位 Ubuntu 12.04(在 64 位机器上 - 别问)。我安装了 Oracle Java 8 作为默认 Java 版本(使用“java -version”和“update -alternatives”确认),但也安装了 OpenJDK 6 和 7。对于某些应用程序,我更喜欢使用这两个版本。

我的问题:

我有一个 .jar 文件 Start.jar(用于用 Java 编写的工作程序),我经常使用它。从终端运行时(通过切换到相关目录并运行java -jar Start.jar),它可以打开并正常运行,但无法从 .desktop 文件运行。这是为什么?

.desktop 文件包含以下内容:

[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Path=/home/jez/progpath
Exec=java -jar /home/jez/progname/Start.jar
Name=Progname
Icon=/home/jez/progname/CT.png

我也尝试过:

Exec=java -jar Start.jar

该程序包含一个 .sh 文件,用于启动另一个 .jar(我们将其称为 Alt.jar)来运行该程序。Alt.jar 使用与上面非常相似的 .desktop 文件顺利运行,以运行 .sh 文件。

简单地修改一行 .sh 文件以运行 Start.jar 而不是 Alt.jar 也不起作用。(它再次打开并立即关闭终端窗口。)

开发人员最近通知我,我应该运行 Start.jar,而不是 Alt.jar,因此我努力寻找一种运行 Start.jar 的简单方法。

.jar 文件、.sh 文件和 .desktop 文件的权限均设置为“允许将文件作为程序执行”。

还要注意,该程序需要使用 Oracle Java 8 运行,因为它与 OpenJDK 不完全兼容。

为了完整起见,所讨论的程序是一个名为 CafeTran(www.cafetran.com)的计算机辅助翻译软件包。

答案1

上面的评论引起了我的思考,在 askubuntu 上稍加搜索后我找到了答案——终端参数错误。

问题已解决,只需将其更改为:

Terminal=false

显然,运行 Java 与运行 .sh 略有不同。

感谢大家的帮助。

相关内容