xdg-open is a desktop-independent tool for configuring the default applications of a user. Many applications invoke the
xdg-open command internally.
Inside a desktop environment (e.g. GNOME, KDE, Xfce, etc.),
xdg-open simply passes the arguments to that desktop environment's file-opener application (
exo-open, respectively), which means that the associations are left up to the desktop environment. When no desktop environment is detected (for example when one runs a standalone window manager, e.g. Openbox),
xdg-open will use its own configuration files.
xdg-open is part of thepackage available in [extra]. xdg-open is for use inside a desktop session only. It is not recommended to use xdg-open as root.
The config file
xdg-open use configuration files located at
~/.local/share/applications/defaults.list(for a single user) and
/usr/share/applications/defaults.list (system wide). Its format is as follows:
[Default Applications] mimetype=desktopfile1;desktopfile2...
[Default Applications] text/html=firefox.desktop inode/directory=kde4-dolphin.desktop;Thunar.desktop;nautilus.desktop
The best way to look up the MIME type is to read the
MimeTypes list in your application's
Some tools are available to edit the configuration files:
To make Thunar the default file-browser, i.e. the default application for opening folders.
$ xdg-mime default Thunar.desktop inode/directory
to useas the default PDF viewer:
$ xdg-mime default xpdf.desktop application/pdf
This should create an entry in your local MIME database:
[Default Applications] application/pdf=xpdf.desktop
Your PDF files should be opened withnow.
.mailcap file format used by the mutt mail program is way easier to read and write. The obvious solution for using this format is to install from the AUR and symlink
mimetype inpackage is more intuitive.
To select default application for a given extension (you need a sample file):
$ mimetype -d file.extension
AUR provide and contains a
xdg-open script patched to make use of
mimeo the same way
gnome-open would be used. Mimetype<->application associations can then be customised easily in
Some environment variables such as
DESKTOP_SESSION will change behaviour of xdg-open. See Environment Variables for more information.