2011-02-25 423 views

回答

69

最交叉分布一个是xdg-open http://stackoverflow.com

+5

遗憾的是没有在RHEL – 2011-03-12 14:48:25

+0

现在我相信HTTP: //stackoverflow.com/a/9293402/2498188应该是正确的答案。 – 2013-09-27 11:35:09

+0

@OndraŽižka明智的浏览器只能是debian,不是吗?什么在RHEL中起作用? – cmc 2013-11-15 13:52:11

8

在爪哇(版本6+),你也可以这样做:

Desktop d = Desktop.getDesktop(); 
d.browse(uri); 

虽然这不会在所有的Linux版本工作。在撰写本文时,Gnome支持,KDE不支持。

1

我想通过shellholic描述和XDG-开放的组合 - 如果失败 - 解决发现使用which命令描述here可能是最好的解决方案的浏览器。

3

我认为使用xdg-open http://example.com可能是最好的选择。

如果他们没有安装它,我想他们可能刚刚kde-opengnome-open(两者取一个文件/ URL)或其他一些替代方法,如遍历常见的浏览器可执行文件的名字,直到找到其中一个可以执行(使用哪个)。如果你想要一个完整的解决方法/回退列表,我建议你阅读xdg-open(这是一个调用kde-open/gnome-open/etc或其他回退的shell脚本)。

但由于XDG-开放和XDG-MIME(用于回退的一个)是shell脚本,我建议他们,包括在应用程序中,如果调用which xdg-open无法将它们添加到临时PATH变量在子程序的环境和打电话给他们。如果xdg打开失败,我建议抛出一个异常,并在stderr上输出错误信息并捕获异常并打印/显示错误消息。

我会忽略java awt桌面解决方案,因为这个错误似乎表明他们不打算在短时间内支持非gnome桌面。

1
sensible-browser [options] [URL or filename]; # Said to be the best. 
# Server translates to: 
echo $BROWSER; 
w3m [options] [URL or filename] 
# Desktop (X11): I use/prefer, 
x-www-browser http://tv.jimmylandstudios.com 
+4

请考虑在答案中添加一些细节。 – 2015-08-01 19:00:51

11

我认为最简单的方法是使用Python:

python -m webbrowser "http://www.example.com/" 
+0

就像一个魅力。也跨平台(至少在Mac和Linux上工作) – 2018-03-09 04:20:40

0

在附带打开命令分布,

$ open http://www.google.com 
+1

在Ubuntu 16.04上,它不起作用,因为它试图打开文件。 – omikron 2017-01-16 10:32:11