Linux:命令在默认浏览器中打开URL

时间:2011-02-25 11:06:56

标签: linux browser default

我们必须在Linux(不同的常见发行版)上执行哪些命令(来自Java,但这无关紧要)才能在默认浏览器中打开给定的URL?

11 个答案:

答案 0 :(得分:86)

交叉分配最多的是xdg-open http://stackoverflow.com

答案 1 :(得分:19)

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

{{1}}

答案 2 :(得分:10)

在ubuntu上你可以试试gnome-open。

$ gnome-open http://www.google.com

答案 3 :(得分:8)

在Java(版本6+)中,您也可以这样做:

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

虽然这不适用于所有Linux。在撰写本文时,Gnome受到支持,而KDE则不受支持。

答案 4 :(得分:6)

至少在Debian及其所有衍生品上,有一个“敏感浏览器”shell脚本,它选择最适合给定网址的浏览器。

http://man.he.net/man1/sensible-browser

答案 5 :(得分:4)

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

如果他们没有安装它,我认为他们可能只有kde-opengnome-open(两者都采用单个文件/网址)或其他一些解决方法,例如循环常见的浏览器可执行文件名,直到找到一个可以执行的(使用哪个)。如果你想要一个完整的变通方法/后备列表,我建议你阅读xdg-open(它是一个shell脚本,它调用kde-open / gnome-open / etc。或其他一些后备)。

但是由于xdg-open和xdg-mime(用于其中一个回退)是shell脚本,我建议将它们包含在你的应用程序中,如果调用which xdg-open失败则将它们添加到临时PATH变量在你的子程序环境中,并呼吁他们。如果xdg-open失败,我建议抛出一个异常,并在stderr上输出错误消息并捕获异常并打印/显示错误消息。

我会忽略java awt桌面解决方案,因为该错误似乎表明他们不打算在不久的将来支持非gnome桌面。

答案 6 :(得分:2)

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

答案 7 :(得分:1)

我认为由shellholic描述的xdg-open的组合和 - 如果失败 - 使用which命令找到浏览器的解决方案可能是最好的解决方案。

答案 8 :(得分:1)

要通过终端在浏览器中打开URL,CentOS 7用户可以使用gio open命令。例如,如果您要打开google.com,则gio open https://www.google.com将在浏览器中打开google.com URL。

xdg-open https://www.google.com也可以使用,但是该工具已被弃用,请改用gio open。我喜欢这样做,因为这是使用终端命令打开URL的最简单方法。

答案 9 :(得分:0)

在open命令附带的发行版上,

$ open http://www.google.com

答案 10 :(得分:0)

如果您使用的是 Windows10(包括 WSL2 *nix shell),您可以尝试:

  explorer.exe   https://stackoverflow.com

  or

  cmd.exe /c start   https://stackoverflow.com/?foo=bar

很奇怪,但它有效!

注意:在 WSL 的情况下,存在一个已知错误,即禁止将查询参数传递到 url。解决方法是使用“cmd.exe /c start url”

https://github.com/microsoft/WSL/issues/3832