2011-08-07 159 views
1

使用Linux下的Eclipse SDK,还有在“外部Web浏览器”列表中的“默认系统Web浏览器”的条目。这个默认值是如何确定的?Eclipse的默认系统Web浏览器

我设置和选择调用我自己的版本的xdg-open这只是一个包装,推出铬的条目。但是,当我从GWT插件启动项目时,它默认回到“默认系统Web浏览器”。

我不使用一个主要的桌面环境(GNOME既不也不KDE),所以我不能确定如何任何默认将被设置。但是,在全球进行设置并避免将来按每个应用程序(或每个插件)配置会更好。

回答

4

端起来源跳水。我写了,走进一个简单的Eclipse的应用程序,只得到了默认浏览器本身的方式做的Eclipse(的IDE)(in org.eclipse.ui.internal.browser.SystemBrowserInstance):

Program.findProgram("html") 

原来的Eclipse识别我的“桌面”作为DESKTOP_GIO,因为我有作为GNOME依赖项的一部分安装的GIO library。因为它的ID我这样它调用此函数libgio:

g_app_info_get_default_for_type("text/html", false) 

According to the docs,GIO应用程序使用X桌面集团(XDG)“标准” Shared MIME-info Database找到支持给定的MIME类型的应用程序。

就我而言,我从来没有注册的任何应用程序设置为text/html的默认的处理器,但是Eclipse简单地选择第一个返回值(这恰好是winebrowser,因为它有一个wine-extension-html.desktop条目我~/.local/share/applications/目录) 。

最后我用:

desktop-file-install \ 
    --rebuild-mime-info-cache \ 
    --dir ~/.local/share/applications \ 
    custom-script.desktop 

到桌面上添加一个条目我的自定义脚本,并且:

xdg-mime default custom-script.desktop text/html 

将其设置为默认的“HTML”文件。

1

如果您使用的是带有update-alternatives命令的系统,请尝试查看update-alternatives --display x-www-browser为您提供的内容 - 它定义了默认Web浏览器的功能。使用update-alternatives --config x-www-browser将其设置为特定程序。

+0

我的系统确实有这个命令,这很奇怪,因为它通常不使用'alternatives'风格的系统。 (Gentoo使用'eselect'用于类似的目的,但没有用于Web浏览器的类别。)正如我写的,实际的解决方案有点复杂。 – benizi

0

这是一个老问题,但我想我会增加对我工作。我在Debian Wheezy上运行Gnome Classic并安装了Chromium。

我尝试更新的替代方法来从Iceweasel改变全系统默认为铬:

update-alternatives --config x-www-browser 
update-alternatives --config gnome-www-browser 

但是Eclipse仍然拿起Iceweasel。然后,我编辑/etc/gnome/defaults.list将'iceweasel.desktop'的每个实例替换为'chromium.desktop'。

我注销并重新,以确保我得到了新的默认值,而这一次的Eclipse使用的系统浏览器,铬。