Skip to content

xdg-utils

The xdg-utils package consists of set of tools to allow for easy integration with the desktop environment and also offers options for modifying and adding new MIME types.

sudo apt update -y
sudo apt install -y xdg-utils
xdg-mime query filetype <name of the file>
xdg-mime query filetype 6285633006_R03C01_Red.idat
application/octet-stream

Adding custom MIME types is similar to the mimetype utility: we can create the xml file and update the local database. Following our previous example, we will create the illumina-idat.xml file:

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="application/vnd.binary">
    <comment>Illumina proprietary IDAT format</comment>
    <glob pattern="*.idat"/>
  </mime-type>
</mime-info>

shared-mime-info

The shared-mime-info packages contains the core database of common MIME types and is utilized by both xdg-mime and mimetype. If run consecutively, changes made in the previous section for mimetype will reflect with xdg-mime without additional steps of adding custom types.

Update the database:

xdg-mime install illumina-idat.xml

Addition of custom MIME types in xdg-mime are for current user by default when called by a non-root user while the changes are system wide when called by root. This behavior is controlled by the --mode flag with either user or system as arguments.

Revert to default

To revert back to the default MIME type use the uninstall flag.

xdg-mime uninstall illumina-idat.xml
Since xdg-mime and mimetypes rely on the shared-mime-info database for assigning MIME type, system wide changes will override local user related changes. If the uninstall command above does not revert to the default MIME type, a system wide uninstall can be run:
sudo xdg-mime uninstall --mode system illumina-idat.xml


Last update: October 7, 2020