How to make Spotify the default music player?

Don't have spotify so can only answer question 1 generally

The 'Default music player', or 'Listen to Music' in the Dash is set by whatever app is the default application for audio/x-vorbis+ogg

That is the extent of the usefulness to setting a default music player in System Settings > System Info > Default Applications > Music

To use a player that doesn't show up in the above setting's dropdown list there are 2 ways, most direct, in all cases the app must have a .desktop, in this case maybe spotify.desktop

gedit ~/.local/share/applications/mimeapps.list

In the [Default Applications] section look for this line

 audio/x-vorbis+ogg=

If it's there replace the whatever.desktop with the whatever.desktop of your choice, otherwise just add the line, Example - I've set audacious, you'd be using spotify.desktop if it exists

[Default Applications]
audio/x-vorbis+ogg=audacious2.desktop

Additionally you may want to add that whatever.desktop to the end of the same line in [Added Associations], same example, note that entries in Added end with ;

[Added Associations]
audio/x-vorbis+ogg=vlc.desktop;audacious2.desktop;

The other thing that can be done is to open your app's .desktop file in a text editor, in this case possibly spotify.desktop

Add a %U to the end of the Exec= line, again using as an Example audacious

Exec=audacious2 %U

Also look for a MimeTypes= line & see if there is this entry, audio/x-vorbis+ogg;

If not then just add to end of line


As doug suggested, simply add this line to your ~/.local/share/applications/mimeapps.list file in two places, like so:

[Default Applications]
...
audio/x-vorbis+ogg=spotify.desktop

[Added Associations]
...
audio/x-vorbis+ogg=spotify.desktop;

After doing this, Spotify instantly showed up as my default music played in Unity.

Cheers!