Java Desktop.getDesktop()。在Ubuntu上打开(文件)不工作

Java Desktop.getDesktop()。在Ubuntu上打开(文件)不工作,java,linux,ubuntu,awt,Java,Linux,Ubuntu,Awt,我有一个Java应用程序,当我使用Java.awt.Desktop时: Desktop.getDesktop().open(文件); 它在Windows上运行良好(在我的默认程序中打开一个文件),但在Ubuntu上(使用openJdk 13),Java应用程序卡住了,我甚至没有收到任何日志错误或任何东西。我必须强制退出应用程序才能恢复 文件路径应该是正确的,否则我实际上会得到一个异常。另外,isDesktopSupportedaisSupported(Action.OPEN)返回true 我能

我有一个Java应用程序,当我使用Java.awt.Desktop时:

Desktop.getDesktop().open(文件);
它在Windows上运行良好(在我的默认程序中打开一个文件),但在Ubuntu上(使用openJdk 13),Java应用程序卡住了,我甚至没有收到任何日志错误或任何东西。我必须强制退出应用程序才能恢复

文件路径应该是正确的,否则我实际上会得到一个异常。另外,
isDesktopSupported
a
isSupported(Action.OPEN)
返回
true

我能做什么?我可以检查一些系统设置或日志吗?或者从
java.awt.Desktop
获取一些日志?或者这在Ubuntu/Linux上不起作用

有其他选择吗?

来自:

为了使用API,您必须调用java.awt.EventQueue.invokeLater(),并从传递给invokeLater()的runnable调用桌面类的方法:


这回答了你的问题吗@邓:不是的。您链接的问题与路径问题有关,它们有明显的例外。我没有得到任何例外,程序只是卡住了。你也使用JavaFX吗?这方面有一些问题,这实际上是正在发生的,但它似乎在JDK 8中得到了解决,但我使用的是开放JDK 13,我遇到了这个问题,这很奇怪。@DuncG好的,我遇到了一个与您链接的问题相关的问题,有一条评论有帮助。。。现在把它作为一个答案。非常感谢。
void fxEventHandler() {
   EQ.invokeLater(() -> {
      Desktop.open(...);
   });
}