我问过previous问题中的大纲。
可以通过以下方式启动网站:
Desktop.getDesktop().browse(new java.net.URI("www.google.com"));
这在Ubuntu(gnome)中运行良好,但它似乎不适用于OpenSUSE(KDE风格)。 Sun提出了一个关于此问题的错误。
关于其他方法的任何想法都可以在Gnome和KDE中使用。
答案 0 :(得分:2)
作为解决方法,您可以运行标准命令在任何Linux桌面上打开文件或URL:xdg-open
。
答案 1 :(得分:1)
在等待Sun / Oracle的错误修复时,您可以找到用户的默认浏览器并使用ProcessBuilder类自行调用它。您可以使用gnonftool-2实用程序在gnome中找到默认浏览器。我不确定在KDE中怎么样。这是一个例子,我试图找出用户是否在gnome上运行Clearlooks:
private boolean usingClearlooks() {
try {
File gconf = new File("/usr/bin/gconftool-2");
if(gconf.exists() == false) {
return false;
}
ProcessBuilder pb = new ProcessBuilder(gconf.getAbsolutePath(), "-g", "/desktop/gnome/interface/gtk_theme");
Process psProc = pb.start();
psProc.waitFor();
BufferedReader br = new BufferedReader(new InputStreamReader(psProc.getInputStream()));
boolean clearlooks = false;
String line = null;
while((line=br.readLine()) != null) {
if ((line.toLowerCase().contains("clearlooks"))) {
clearlooks = true;
break;
}
}
return clearlooks;
}
catch(Exception e) {
e.printStackTrace();
return false;
}
}
答案 2 :(得分:0)
strace -f
它,看看会执行什么。我想知道java认为它对于跨桌面浏览器执行来说是个好警察。
答案 3 :(得分:0)
如果您不介意使用额外的库,可以尝试使用JDIC