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

Я бегал update-alternatives а также гном preffered apps выбор вещь. И все имеют смысл иметь chromium браузер по умолчанию. Еще когда я бегу xdg-open http://Ask-ubuntu.ru Firefox запущен! так же emacs а также bzr также запустите материал в Firefox вместо хрома.

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

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

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

!!!!

5 ответов

Все вышеприведенные ответы в основном правильны, в зависимости от того, что вы делаете и как программы, которые вы используете, вызывают вещи. Для меня проблема была в том, что мой эмулятор терминала (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 переменная окружения
  • разумный браузер (/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 на рабочем столе.

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,

альтернативный текст

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

Я перепробовал все, что смог: настроить браузер Chromium по умолчанию, изменить настройки gconf для запуска Chromium с переменной %U ( /questions/169891/ssyilka-nazhata-ne-peredana-firefox/169905#169905), изменить альтернативные варианты использования Chromium по умолчанию x-www-browser ( /questions/150495/kak-mne-sbrosit-gnome-openxdg-open-dlya-fakticheskogo-otkryitiya-v-moem-lyubimom/150503#150503), но ничего не помогло, xdg-open открыл новое окно Chromium с начальной страницей и не смог открыть данную ссылку, разумный браузер открыл Chrome. Я попытался очистить Chrome (Chromium был автоматически установлен по умолчанию и автоматически в альтернативах обновления) и установить его снова, потому что мне нужна Pepper flash оттуда, и он снова стал альтернативой x-www-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 открывает новое пустое окно.

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

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

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

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

Другие вопросы по тегам