Как установить, какое приложение запускается с помощью 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