Skip to content

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