如何设置xdg-open启动哪个应用程序?


21

我已经跑了update-alternatives,以及侏儒preffered apps选择的东西。所有这些都将chromium浏览器作为默认设置。但是,当我运行firefox时,它就会启动!同样,也可以用火狐而不是铬发射东西。xdg-open http://askubuntu.comemacsbzr

是否有其他设置会影响xdg-open功能?

肯定是坏了:

更新
我清除了Firefox:
更新替代品-使用Chrome浏览器
明智的浏览器-打开Chrome浏览器
xdg-open和gnome-open-使用google-chrome打开,请告诉我“它不是默认浏览器”

!!!!


Answers:


7

Chromium的首选项中还有一个选项可以使其成为默认浏览器:

替代文字

那应该可以,但是如果不能,请继续阅读:

GConf数据库中有几个键,这些键确定由哪个浏览器启动xdg-open

  • /desktop/gnome/url-handlers/unknown/command
  • /desktop/gnome/url-handlers/http/command
  • /desktop/gnome/url-handlers/https/command
  • /desktop/gnome/url-handlers/about/command

确保它们都设置正确:

  • 命中Alt+F2
  • 输入 gconf-editor
  • 导航至上述键,应将它们设置为/usr/bin/chromium-browser %s

替代文字


这个更好。我已经删除了firefox软件包,您猜怎么着?$ xdg-mime query default text/html firefox.desktop
Dima 2010年

5

在我的情况下,我安装了Chromium并将其设置为默认值。在此之前,Chrome是默认浏览器。

我尝试了所有能够做的事情:设置Chromium默认浏览器,更改gconf设置以使用%U变量(/ubuntu//a/41085/94263)运行Chromium ,更改将Chromium用作默认x-www的替代方法-browser/ubuntu//a/24052/94263),但没有任何帮助,xdg-open打开了新的Chromium窗口,起始页面ang无法打开给定的链接,明智的浏览器打开了Chrome。我试图清除Chrome(Chromium自动设置为默认值,并且在update-alternatives中自动设置)并再次安装它,因为我需要从那里安装Pepper Flash,并且它成为默认的x-www-browser一次又一次的选择,并再次用明智的浏览器命令打开。然后,我在Google上搜索了一些页面,并引起了我对优先级的注意,还发现/ etc / alternatives /中也有gnome-www-browser符号链接,并且google-chrome是默认的。Chrome的优先级设置为200和Chromium- 40。Google Chrome的优先级更高,因此update-alternatives实用程序会将其作为“更好的版本”自动安装为默认的网络浏览器。

我已经从x-www-browsergnome-www-browser中删除了Chrome和Chromium :

sudo update-alternatives --remove x-www-browser /usr/bin/google-chrome
sudo update-alternatives --remove x-www-browser /usr/bin/chromium-browser
sudo update-alternatives --remove gnome-www-browser /usr/bin/google-chrome
sudo update-alternatives --remove gnome-www-browser /usr/bin/chromium-browser

然后,我安装了具有其他优先级的新替代方案:

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/google-chrome 40
sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/bin/chromium-browser 200
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/google-chrome 40
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/bin/chromium-browser 200

我不知道所有计算机默认优先级分别为“ 40”“ 200”,否则您会有其他数字。最好先输入一下

sudo update-alternatives --display x-www-browser
sudo update-alternatives --display gnome-www-browser

更新。我尝试在完全不同的系统上执行相同的操作,并且优先级与此处相同。

Upd2。如果您只运行一次google-chrome,它将更改其优先级为200,但chrome 浏览器将保留为默认设置。

这对我有用。自动将Chromium设置为默认值,并且明智的浏览器正在启动Chromium。但是xdg-open仍在打开新的空白窗口。


3

以上所有答案基本上都是正确的,具体取决于您正在执行的操作以及所使用的程序是如何调用事物的。对我来说,问题在于我的终端仿真器(Tilix)仍在打开错误的浏览器(Firefox而不是Chrome),并且xdg-open foobar.html还打开了错误的浏览器。Chrome在设置中说:

最终我发现还有xdg-mime

$ xdg-mime query default x-scheme-handler/http
firefox.desktop
$ xdg-mime query default x-scheme-handler/https
firefox.desktop

那是不正确的,所以我将其更改为:

$ xdg-mime default google-chrome.desktop 'x-scheme-handler/http'
$ xdg-mime default google-chrome.desktop 'x-scheme-handler/https'

然后还有'text / html'的绑定,我也更改了它:

$ xdg-mime default google-chrome.desktop 'text/html'

结合确保还正确设置了以下内容:

  • BROWSER环境变量
  • sensible-browser(/usr/bin/sensible-browser尝试启动此列表中其他一些项目的包装器脚本)
  • gnome-www-browser(/usr/bin/gnome-www-browser,的符号链接/etc/alternatives/gnome-www-browser
  • x-www-browser(/usr/bin/x-www-browser,的符号链接/etc/alternatives/x-www-browser
  • www-browser(/usr/bin/www-browser,的符号链接/etc/alternatives/www-browser
  • update-alternatives --get-selections指向浏览器的所有“替代”条目(请参阅参考资料以获取列表)。
  • GConf数据库(请参阅以赛亚书的答案)

最终,这将在我的桌面上为大多数情况打开正确的浏览器。2018年肯定是台式机上linux的一年。


这些xdg-mime命令正是我所需要的!我正在运行Manjaro-i3,所以我根本没有台式机环境。(并且上述GConfupdate-alternatives答案不适用)
codermonkeyfuel

0

sensible-browser 是从终端启动默认Web浏览器的命令。


当然。但是我不知道$bzr lp-open背后有什么用。但是无论使用什么,Firefox都会被选中。我认为它正在使用xdg-open,它也正在选择Firefox。
Dima 2010年

使用DoR修复程序后,现在可以通过明智的浏览器打开铬。
迪马

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.