This article will discuss how default applications are set and ways to change them.
Table of contents:
/usr/share/applications/mimeapps.list files specify which application is registered to open specific MIME types by default. These files are provided by the distribution. To override the system defaults for individual users, you need to create a
~/.config/mimeapps.list file with a list of MIME types for which you want to override the default registered application.
Override default applications
- Consult the
/usr/share/applications/mimeapps.listfile to determine the MIME types for which you want to change the default registered application. For example, the following sample of the mimeapps.list file specifies the default registered application for the text/html and application/xhtml+xml MIME types:
[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
- The default application (Firefox) is defined by specifying its corresponding .desktop file (firefox.desktop). The system default location for other applications’ .desktop files is
/usr/share/applications/. Individual users’ .desktop files can be stored in
- Create the
~/.config/mimeapps.listfile. In the file, specify the MIME types and their corresponding default registered applications:
[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop [Added Associations] text/html=myapplication1.desktop; application/xhtml+xml=myapplication2.desktop;
- This sets the default registered application for the text/html MIME type to myapplication1.desktop, and the default registered application for the application/xhtml+xml MIME type to myapplication2.desktop.
- For these settings to function properly, ensure that both the myapplication1.desktop and myapplication2.desktop files are placed in the
/usr/share/applications/directory. Individual users’ .desktop files can be stored in
- You can use the
gio mimecommand to verify that the default registered application has been set correctly:
$ gio mime text/html Default application for “text/html”: myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop
MIME types format
Consider the following example:
[Added Associations] image/jpeg=bar.desktop;baz.desktop video/H264=bar.desktop [Removed Associations] video/H264=baz.desktop [Default Applications] image/jpeg=ristretto.desktop inode/directory=thunar.desktop
Each section assigns one or more desktop entries to MIME types;
- Added Associations indicates that the applications support opening that MIME type. For example,
baz.desktopcan open JPEG images. This might affect the application list you see when right-clicking a file in a file browser.
- Removed Associations indicates that the applications do not support that MIME type. For example,
baz.desktopcannot open H.264 video.
- Default Applications indicates that the applications should be the default choice for opening that MIME type. For example, JPEG images should be opened with
ristretto.desktop. This implicitly adds an association between the application and the MIME type. If there are multiple applications, they are tried in order.
TIP: Although deprecated, several applications still read/write to ~/.local/share/applications/mimeapps.list. To simplify maintenance, simply symlink it to ~/.config/mimeapps.list: $ ln -s ~/.config/mimeapps.list ~/.local/share/applications/mimeapps.list