[英]FreeTTS, Java, Linux: Workaround for “LINE UNAVAILABLE: Format is …”
[英]Workaround for no default browser on Linux?
我正在尝试使用Desktop .browse()调用URL,这在Windows机器或配置了默认浏览器的Linux机器上都能正常工作。 但是,当在Linux上找不到默认浏览器时,它将引发IOException异常。 解决此问题的方法有哪些? 我想我可以尝试启动Firefox并在那里假设它,但是我不想做这个假设。
您可以允许用户输入要启动其浏览器的命令,然后保存该命令,以便每次使用该命令。
尝试xdg-open或尝试使用konqueror(KDE上的默认设置,但Desktop API不支持)和firefox。
也尝试kmclient exec url。
if (Desktop.isDesktopSupported()) {
desktop = Desktop.getDesktop();
// blah blah
} else {
// try to launch xdg-open
// or try launching other browsers?
}
您可以按某种顺序尝试各种浏览器-Firefox,Opera等,等等; 还保留一个可编辑的配置文件,该文件可让用户设置浏览器,记住您找到的浏览器等。
看起来Desktop.browse()最终在* ix上调用了XDesktopPeer.browse()。 该方法是通过调用gnome_url_show 实现的。 在某些情况下,这可能会很好地工作,但是xdg-open是跨平台的解决方案,正如其他人指出的那样。
可以说,这是Sun Java中的错误。 错误6490730 ,“桌面抛出IOException而不是显示URL或发送邮件”,(2006年11月报告)似乎相关
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.