Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何以在Gnome和KDE中工作的方式在JavaSwing中启动网站_Java_Linux_Swing_Gnome_Kde - Fatal编程技术网

如何以在Gnome和KDE中工作的方式在JavaSwing中启动网站

如何以在Gnome和KDE中工作的方式在JavaSwing中启动网站,java,linux,swing,gnome,kde,Java,Linux,Swing,Gnome,Kde,正如我问的一个问题中的提纲 可以通过以下方式启动网站: Desktop.getDesktop().browse(new java.net.URI("www.google.com")); 这在Ubuntu(gnome)中运行良好,但在OpenSUSE(KDE)中似乎不起作用。关于这件事有一个错误 任何关于替代方法的想法都可以在Gnome和KDE中使用。strace-f查看执行的内容。我想知道java认为它是执行跨桌面浏览器的好方法。在等待Sun/Oracle的错误修复时,您可以找到用户的默认浏览

正如我问的一个问题中的提纲

可以通过以下方式启动网站:

Desktop.getDesktop().browse(new java.net.URI("www.google.com"));
这在Ubuntu(gnome)中运行良好,但在OpenSUSE(KDE)中似乎不起作用。关于这件事有一个错误


任何关于替代方法的想法都可以在Gnome和KDE中使用。

strace-f
查看执行的内容。我想知道java认为它是执行跨桌面浏览器的好方法。

在等待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;
    }
}

如果您不介意使用额外的库,可以尝试使用JDIC作为解决方法,您可以运行标准命令在任何Linux桌面上打开文件或URL:
xdg open


应该可以,除非HTML“文件”的默认处理程序不正确,否则JDIC对我来说就像一个死项目。