Mint Linux Preferred Applications and Mimetype Management

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search

This page could also be called Mint Linux Preferred Applications is Ignored and Buggy Mimetype Management

Linux Mint with the Cinnamon desktop has a utility to easily set what application opens as a default for each file type or file extension (extension does not exclusively determine file type as this is not MSDOS).

  • Preferred Applications - the Mint Cinnamon simple and basic graphical mine type management utility
  • gio - view mine type file associations from the shell and set the preferred application for each file type

Typical users will find the Preferred Applications graphical utility will meet their needs. However, it is both somewhat buggy and does not provide configuration for each file type. It is really more like something Microsoft would do than what should be included in a Linux desktop environment. You have the ability to use a more precision application mine type management using the gio command rather than the graphical Preferred Applications utility.

As an example the default graphical file manager for Cinnamon is Nemo. This can be easily altered to an alternative by the user using the Preferred Applications graphical utility.

Set the default environment file manager by: System Settings -> Preferred Applications -> (File Manager)

Sometimes it works, sometimes it does not. As discussed in an external forum, Can't change video preferred application from VLC, the "Preferred Applications" utility is not effective.

It is observed that VLC has ahold of many video and multi media types even though this is not set in Preferred Applications.

$ cat ~/.config/mimeapps.list |grep vlc

This problem is observed on Linux Mint 21.1 Cinnamon 5.6.8 when one attempts to set video to something other than VLC. It seems mostly stubborn with regards to avi files.

Mintpreferredapplicationsbroken.jpg

Even though it was previously set to smplayer when the Preferred Applications utility is closed then opened again later it seems to revert to VLC. VLC is not the shining star it once was so many users are looking for an alternative. Once VLC is installed it seems to go commando over the mime types. However, the problem is within Mint, not VLC.

Even though it appears to have reverted in the utility, most video types, such as mpg and mkv seem to open in smplayer after we have set it the first time, except for avi. No matter how many types set in Preferred Applications the avi video files default to VLC.

You can observe all video mine type associations from the CLI. type:

cat ~/.config/mimeapps.list |grep video

To correct the mine type association for avi we can do the following. First lets see how it is currently set. This will show the default and recommended applications for opening avi video files:

cat ~/.config/mimeapps.list |grep avi

If you have several multimedia players installed you might see a longer list, otherwise it may be shorter than this output example. OUTPUT:

video/avi=vlc.desktop
video/x-avi=smplayer.desktop
video/avi=vlc.desktop;
video/x-avi=vlc.desktop;

Our goal is to set so that avi defaults to open in smplayer for this example. The following command will be executed:

gio mime video/avi smplayer.desktop

Solution Confirmed. The avi files now open on smplayer

What is gio?

DESCRIPTION: gio is a utility that makes many of the GIO features available from the commandline. In doing so, it provides commands that are similar to traditional utilities, but let you use GIO locations instead of local files: for example you can use something like smb://server/resource/file.txt as a location.

EXIT STATUS: On success 0 is returned, a non-zero failure code otherwise.

GIO is a high level library that handles files: not just from the file system, but also abstractions like trash and virtual network mounts. The gio command in Linux stands for GNOME I/O. Besides changing mime type associations with software applications, the gio command is capable of many more things related to the GNOME Virtual File System.

CLI alternative to gio is xdg-mime. According to some sources gio can be used for various file-related tasks, it's not the recommended tool for directly managing MIME type associations. xdg-mime is the standard tool for this purpose and is more widely recognized in the Linux ecosystem for handling file associations.

$ xdg-mime query default video/avi
smplayer.desktop

Running the command "$ xdg-mime query default video/avi" on the command line returns the output "smplayer.desktop" If it were set to VLC, you could change it to SMPlayer using the command:

xdg-mime default smplayer.desktop video/avi

Review:

Three different ways to set what application will open a specific file type in Linux Mint Cinnamon, one of which uses the desktop graphic environment and the other two using command line interface.

  • Preferred Applications
  • gio
  • xdg-mime

Using Preferred Applications is not as precise and sometimes malfunctions. Using gio gets the job done but may not be the best recommended technique and using xdg-mime also works and is less distribution or desktop manager specific. Each option will edit the ~/.config/mimeapps.list within the user's own home directory. Although mimeapps.list could be edited manually using a text editor however this practice is discouraged due to very specific syntax required and bypasses error checking. Depending on factors regarding your installation, which of these options works best for you is unknown, however, one of these options will work.