命令:xdg-open URL
我相信最简单的方法是使用Python:
python -m webbrowser "http://www.example.com/"
Desktop d = Desktop.getDesktop();
d.browse(uri);
尽管这并不适用于所有的Linux系统。撰写本文时,Gnome受到支持,但KDE则不是。
至少在Debian及其派生版本中,有一个名为'sensible-browser'的shell脚本,它会选择最适合给定url的浏览器。
$ open http://www.google.com
###1 Desktop's -or- Console use:
sensible-browser $URL; # Opinion: best. Target preferred APP.
# My-Server translates to: w3m [options] [URL or filename]
## [ -z "$BROWSER" ] && echo "Empty"
# Then, Set the BROWSER environment variable to your desired browser.
###2 Alternative
# Desktop (if [command-not-found] out-Dated)
x-www-browser http://tv.jimmylandstudios.xyz # firefox
###3 !- A Must Know -!
# Desktop (/usr/share/applications/*.desktop)
xdg-open $URI # opens about anything on Linux (w/ .desktop file)
我认为使用xdg-open http://example.com
可能是最好的选择。
如果他们没有安装它,我想他们可能只有kde-open
或gnome-open
(两者都只接受一个文件/url),或者一些其他解决方法,比如循环常见的浏览器可执行文件名,直到找到可以执行的文件(使用which
)。如果您想要完整的解决方法/备选方案列表,我建议阅读xdg-open(它是调用kde-open/gnome-open等或其他备选方案的shell脚本)。
但是由于xdg-open和xdg-mime(用于其中一个备选方案)都是shell脚本,所以我建议将它们包含在您的应用程序中,如果调用which xdg-open
失败,则将其添加到子程序环境的临时PATH变量中并调用它们。如果xdg-open失败,我建议抛出异常,并从它在stderr上输出的错误消息中捕获异常并打印/显示错误消息。
我会忽略java awt Desktop解决方案,因为该错误似乎表明他们不打算在短期内支持非gnome桌面。
如果想通过终端打开一个URL在浏览器中,CentOS 7 用户可以使用 gio open
命令。例如,如果你想打开 google.com,则输入 gio open https://www.google.com
就会在浏览器中打开该网址。
xdg-open https://www.google.com
也可以用来打开链接,但这个工具已经被弃用了,现在应该使用 gio open
。我更喜欢使用它,因为这是从终端打开URL最简单的方式。
ERROR:browser_gpu_channel_host_factory.cc(120) | Failed to launch GPU process.
? - Abhishta Gatya