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 и установите в качестве браузера по умолчанию. Это решит проблему.