Override the default registered application for all users

The /usr/share/applications/mimeapps.list and /usr/share/applications/gnome-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 all users on the system, you need to create a /etc/xdg/mimeapps.list or /etc/xdg/gnome-mimeapps.list file with a list of MIME types for which you want to override the default registered application.

Files located in /etc/xdg/ take precedence over files found in /usr/share/applications/. Additionally, /etc/xdg/gnome-mimeapps.list takes precedence over /etc/xdg/mimeapps.list, but can be overridden by the user's configuration in ~/.config/mimeapps.list.

Override the default registered application for all users

  1. Consult the /usr/share/applications/mimeapps.list file 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=epiphany.desktop
    application/xhtml+xml=epiphany.desktop

    The default application (Epiphany) is defined by specifying its corresponding .desktop file (epiphany.desktop). The default location for other applications’ .desktop files is /usr/share/applications/.

  2. Create the /etc/xdg/mimeapps.list file. 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.

  3. You can use the gio mime command 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
    	epiphany.desktop
    Recommended applications:
    	myapplication1.desktop
    	epiphany.desktop