尊重/​​阅读Gnome(Linux)中的“首选应用程序”设置

问题描述:

如何找到用户的“首选Web浏览器”,如果他们使用的是Gnome桌面环境? (我想打开一个网页,我不需要知道用户喜欢哪个浏览器。)尊重/​​阅读Gnome(Linux)中的“首选应用程序”设置

一些背景: 我想用我的Java应用程序打开浏览器窗口(我的主页)。

  1. 如果Java版本是1.6+,请使用Desktop.browse(url);
  2. 否则,使用BareBonesBrowserLaunch.openURL(url) - 这意味着检查环境,开始调用Runtime.getRuntime()浏览器的exec()

方法2名在Windows上运行得很好。并在Linux上打开浏览器。但是,它是它发现的第一个浏览器(在我的情况下,首先查找Firefox)。在Gnome桌面环境中(例如Ubuntu Linux默认),您可以为电子邮件,www浏览等设置您的“首选应用程序”;我相信这个信息是的地方。我怎样才能找出哪个是用户首选的浏览器?

换句话说:Gnome在哪里存储“首选浏览器”设置

在Linux桌面上打开文件或URL最便携的方式是xdg-open

http://portland.freedesktop.org/xdg-utils-1.0/xdg-open.html

+1

这只是调用`gnome-open` /`kfmclient` /`exo-open`/etc,这取决于可用的内容。如果`xdg-open`不存在,`$ BROWSER`是下一个要检查的。 – grawity 2010-02-18 14:28:26

“默认浏览器”设置为~/.gconf/desktop/gnome/url-handlers/http/%gconf.xml这里是我的:

<?xml version="1.0"?> 
<gconf> 
    <entry name="command" mtime="1243616896" type="string"> 
    <stringvalue>opera %s</stringvalue> 
    </entry> 
</gconf> 

<stringvalue/>是我一直在寻找的命令。

(发现了这一点经过一段时间 - 忘了发布问题。)

考虑使用gnome-open

我在Gnome上使用它,在KDE上使用它kfmclient

+0

这比我发现的要干净得多(而且比较简单)非常感谢。 – Piskvor 2009-05-30 12:01:21