Override the default registered application for individual 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 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 the default registered application for individual 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 system default location for other applications’ .desktop files is /usr/share/applications/. Individual users’ .desktop files can be stored in ~/.local/share/applications/.

  2. Create the ~/.config/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. Individual users’ .desktop files can be stored in ~/.local/share/applications/.

  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