Mimetypes
Mimetypes are not only determined by the global and custom mimetype mapping
files but also by the Mimetype= entries of all available .desktop files !
Mimetype definitions
- System mimetype definitions:
/usr/share/mime/* - Per-user mimetype definitions:
~/.local/share/mime/
Query mimetype of given file:
$ file --mime-type image.png
image/png
Default applications for mimetypes
- System-wide:
/etc/mime.types - System-wide overrides (optional):
/etc/xdg/mimeapps.list - Distribution-provided defaults:
/usr/local/share/applications/mimeapps.list/usr/share/applications/mimeapps.list
User config files:
~/.config/mimeapps.list~/.local/share/applications/mimeapps.list(deprecated)~/.local/share/applications/defaults.list~/.local/share/applications/mimeinfo.cache
Config file precedence:
~/.config/mimeapps.list/usr/share/applications/mimeapps.list~/.local/share/applications/defaults.list and ~/.local/share/applications/mimeinfo.cache~/.local/share/flatpak/exports/share/applications/defaults.list and ~/.local/share/flatpak/exports/share/applications/mimeinfo.cache/var/lib/flatpak/exports/share/applications/defaults.list and /var/lib/flatpak/exports/share/applications/mimeinfo.cache/usr/local/share/applications/defaults.list and /usr/local/share/applications/mimeinfo.cache/usr/share/applications/defaults.list and /usr/share/applications/mimeinfo.cache
Query default app to open given filetype:
$ XDG_UTILS_DEBUG_LEVEL=9 xdg-mime query default text/html
Checking /home/varac/.config/mimeapps.list
chromium.desktop
gio mime is more detailed:
gio mime text/html
Default application for “text/html”: chromium.desktop
Registered applications:
chromium.desktop
firefox.desktop
mullvad-browser.desktop
helix.desktop
libreoffice-writer.desktop
nvim.desktop
Recommended applications:
chromium.desktop
firefox.desktop
mullvad-browser.desktop
Update default app for mimetype:
Set default app in ~/.config/mimeapps.list, then:
rm ~/.local/share/applications/mimeinfo.cache
update-desktop-database