xdg-open не открыть браузер по умолчанию

У меня есть следующий сценарий: машина Ubuntu 16.04 с установленным Firefox и Chrome, Chrome является моим браузером по умолчанию.

Я проверяю эти действия в оболочке:

cat /usr/share/applications/defaults.list
cat /etc/mailcap
cat /.config/mimeapps.list
cat /.local/share/applications/mimeinfo.cache

x-www-browser-> chrome is launch
xdg-mime query default text/html
response:
google-chrome.desktop

И не появляется Firefox ни с какой стороны, всегда хром. Это отлично. Также проверьте:

Нажмите на файл рабочего стола file.html -> Chrome запускается

А теперь странно, если я бегу:

xdg-open "http://www.example.com"

По какой-то странной причине он всегда открывает Firefox. Я не знаю почему, кто-нибудь может мне помочь?

3 ответа

Чтобы установить браузер по умолчанию, убедитесь, что .desktop файл существует для вашего предпочтительного браузера. Я настрою Mozilla Iceweasel для этого примера:

$ ls /usr/share/applications/iceweasel.desktop
iceweasel.desktop

Убедившись, что у вас есть файл, запустите:

$ xdg-settings set default-web-browser iceweasel.desktop
# Test that it works
$ xdg-open "http://example.com"

Если у вас нет файла.desktop:

Я пользуюсь программой surf, который не имеет файла.desktop. Чтобы установить его в качестве веб-браузера, сначала создайте файл ~/.local/share/applications/surf.desktop с этим следующим содержанием:

[Desktop Entry]
Type=Application
Name=surf
Comment=Surf minimal web browser
Terminal=false
Exec=surf
Categories=Network;WebBrowser

Хотя не весь этот контент требуется, он помогает классифицировать файл для любого использования в будущем.

Установите браузер по умолчанию как обычный:

$ xdg-settings set default-web-browser surf.desktop

И теперь ты в порядке!

text / html предназначен для файлов HTML, т.е. если вы откроете файл HTML, он откроется в Google Chrome. Для открытия URL вам необходимо иметь записи x-scheme-handler / https и x-scheme-handler / http.

вы можете установить это либо с помощью xdg-mime. Например, чтобы установить Google Chrome в качестве браузера по умолчанию для xdg-open:

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

Или вы можете поместить следующие строки в ~ / .config / mimeapps.list

      x-scheme-handler/http=google-chrome.desktop
x-scheme-handler/https=google-chrome.desktop

Вышеупомянутая команда в основном вставляет эти строки в этот файл.

Примечание: очевидно, что у вас должен быть файл google-chrome.desktop в ~ / .local / share / applications или в общесистемном альтернативном месте - / usr / share / applications.

Решено, просто откройте браузер Chrome и установите в качестве браузера по умолчанию. Это решит проблему.

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