Как установить, какое приложение запускается с помощью xdg-open?

21

Я бегал update-alternativesтак же хорошо, как гномы preffered apps. И все указывают на то, что chromiumбраузер по умолчанию. Тем не менее, когда я запускаю Firefox запускается! Точно так же, а также запустить материал в Firefox вместо хрома.xdg-open http://askubuntu.comemacsbzr

Существуют ли дополнительные настройки, влияющие на функциональность xdg-open?

Что-то определенно сломано:

ОБНОВЛЕНИЕ
Я удалил Firefox:
альтернативы обновления - использует
браузер
Chromium Sensible-Browser - открывает браузер Chromium xdg-open & gnome-open - открывает с помощью Google-Chrome, который любезно говорит мне, что это не браузер по умолчанию

!!!!

Дима
источник
1
Возможный дубликат Как мне установить новую настройку xdg-open?
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件

Ответы:

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
Дима
5

В моей ситуации я установил Chromium и сделал его по умолчанию. До этого Chrome был браузером по умолчанию.

Я попробовал все, что смог сделать: настроить браузер Chromium по умолчанию, изменить настройки gconf для запуска Chromium с переменной % U ( /ubuntu//a/41085/94263 ), изменить альтернативные варианты использования Chromium по умолчанию x-www -browser ( /ubuntu//a/24052/94263 ), но ничего не помогло, xdg-open открыл новое окно Chromium с начальной страницей и не смог открыть данную ссылку, разумный браузер открыл Chrome. Я попытался очистить Chrome (Chromium был автоматически установлен по умолчанию и автоматически в альтернативах обновления ) и установить его снова, потому что мне нужна Pepper flash оттуда, и он стал браузером по умолчанию x-www-browserАльтернатива снова и снова была открыта с помощью команды sensible-browser . Затем я погуглил несколько страниц и обратил внимание на приоритет, а также обнаружил, что в / etc / alternatives / есть символическая ссылка gnome-www-browser и там по умолчанию используется google-chrome . Для Chrome приоритет был установлен на 200, а для Chromium - 40 . Приоритет Google Chrome выше, поэтому утилита update-альтернатив устанавливает его как веб-браузер по умолчанию автоматически как «лучшую версию».

Я удалил и Chrome, и Chromium из x-www-browser и gnome-www-browser :

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

Upd. Я пытался сделать то же самое в совершенно другой системе, и приоритеты были такими же, как здесь.

UPD2. Если вы запустите Google-Chrome только один раз, он вернется к 200, но браузер Chromium останется по умолчанию.

Это сработало для меня. Chromium был установлен по умолчанию автоматически, и браузер sensible-browser запускает Chromium. Но все же xdg-open открывает новое пустое окно.

mackuz
источник
3

Все вышеприведенные ответы в основном правильны, в зависимости от того, что вы делаете и как программы, которые вы используете, вызывают вещи. Для меня проблема была в том, что мой эмулятор терминала (Tilix) все еще открывал не тот браузер (Firefox вместо Chrome), а xdg-open foobar.htmlтакже открывал не тот браузер. Хром сказал в настройках:

В конце концов я понял, что есть также 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-браузер ( /usr/bin/www-browserсимволическая ссылка на /etc/alternatives/www-browser)
  • все «альтернативные» записи (см. update-alternatives --get-selectionsсписок), которые указывают на браузер.
  • База данных GConf (см. Ответ Исайи)

Это, наконец, открывает правильный браузер для большинства ситуаций на моем рабочем столе. 2018 год, безусловно, год Linux на рабочем столе.

Ferry Boender
источник
Эти xdg-mimeкоманды именно то , что мне нужно! Я использую Manjaro-i3, поэтому у меня вообще нет рабочего стола. (а GConfи update-alternativesответы выше не применяются)
codermonkeyfuel
0

sensible-browser это команда для запуска веб-браузера по умолчанию из терминала.

karthick87
источник
Конечно. Но я понятия не имею, что $bzr lp-openиспользует за моей спиной. Но что бы он ни использовал, Firefox выбирается. Я думаю, что он использует xdg-open, который также выбирает Firefox.
Дима
После использования DoR-исправлений chromium теперь открывается браузером sensible-browser.
Дима
0

Для меня решением было запустить эти две команды. Тогда вам остается только выбрать нужный браузер из списка.

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

Источники: Launchpad , Bugzilla

Адриан Лопес
источник