--- layout: post title: "Chaging default browser for GNOME on Debian" date: 2017-10-11 11:25:00 +0200 comments: true categories: --- Problem position ================ I have `chromium` and `firefox-esr` installed. I want `gvfs-open` to default to the latter when opening a web URL. Alternatives ============ There are /etc/alternatives entries for `x-www-browser` and `gnome-www-browser` that can be manually edited using # update-alternatives --config gnome-www-browser # update-alternatives --config x-www-browser Unsuprisingly, this won't have the desired effect. Life would be too simple... GNOME MIME ========== The default browser for GNOME applications is determined using `gvfs-mime`. Per-user overrides can be specified in `~/.local/share/applications/mimeapps.list`. System-wide defaults are generated by `update-desktop-database` and stored in `/usr/share/applications/mimeinfo.cache`. Quoting https://wiki.debian.org/MIME: > The mimeinfo.cache is basically a raw reverse cache for the > .desktop information. There is no way to define priorities in it. > To be able to specify default applications, a mimeapps.list file > (previously named defaults.list up to debian 5) must be created. > It can be system-wide (in /usr/share/applications or a subdirectory) > or user-specific (in $HOME/.local/share/applications). And indeed the fix was to reorder the list from `mimeinfo.cache`, and create the following file: ```plain /usr/share/applications/mimeapps.list [Default Applications] x-scheme-handler/http=firefox-esr.desktop;chromium.desktop;google-chrome.desktop; x-scheme-handler/https=firefox-esr.desktop;chromium.desktop;google-chrome.desktop; ```