There is no easy way to associate a program to a specific mimetype (out of using nautilus)

Bug #1311322 reported by Till Kamppeter
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
unity-control-center (Ubuntu)
Triaged
Wishlist
Unassigned

Bug Description

There is a web page with several links to .m3u files:

http://download.avm.de/tv/tv1.html

(each TV station logo is such a link). .m3u files are play lists, mime types "audio/x-mpegurl" and "audio/mpegurl", and in contrary to what the mime type names suggest they are not only audio but also video play lists. In this example they point to IPTV video streams (the streams actually only work in the LANs of customers of an IPTV plan of the Deutsche Telekom in Germany, but the problem can be reproduced also without such a plan). By default Ubuntu calls Rhythmbox when clicking on an .m3u file in a Browser, and as Rhythmbox is a pure audio player it is not able to play video.

So I have modified my personal configuration (Another bug: I had to edit a hidden config file which I got only knowledge of by discussing my problem on IRC). The file I edited is ~/.local/share/applications/mimeapps.list. I added the following two lines to its end:

audio/x-mpegurl=vlc.desktop
audio/mpegurl=vlc.desktop

After that I got the .m3u files opened with vlc on Firefox, but Chromium still insisted on Rhythmbox. I checked a downloaded .m3u file (attached) by command line:

till@till:~/fritzbox$ gvfs-info ~/telekom/TelekomTV-HD.m3u
display name: TelekomTV-HD.m3u
edit name: TelekomTV-HD.m3u
name: TelekomTV-HD.m3u
type: regular
size: 2372
uri: file:///home/till/telekom/TelekomTV-HD.m3u
attributes:
  standard::type: 1
  standard::name: TelekomTV-HD.m3u
  standard::display-name: TelekomTV-HD.m3u
  standard::edit-name: TelekomTV-HD.m3u
  standard::copy-name: TelekomTV-HD.m3u
  standard::icon: audio-x-mpegurl, audio-x-generic
  standard::content-type: audio/x-mpegurl
  standard::fast-content-type: audio/x-mpegurl
  standard::size: 2372
  standard::allocated-size: 4096
  standard::symbolic-icon: audio-x-mpegurl-symbolic, audio-x-generic-symbolic, audio-x-mpegurl, audio-x-generic
  etag::value: 1387007762:878003
  id::file: l2049:7346217
  id::filesystem: l2049
  access::can-read: TRUE
  access::can-write: TRUE
  access::can-execute: FALSE
  access::can-delete: TRUE
  access::can-trash: TRUE
  access::can-rename: TRUE
  time::modified: 1387007762
  time::modified-usec: 878003
  time::access: 1398192227
  time::access-usec: 472519
  time::changed: 1387007762
  time::changed-usec: 878003
  unix::device: 2049
  unix::inode: 7346217
  unix::mode: 33204
  unix::nlink: 1
  unix::uid: 1000
  unix::gid: 1000
  unix::rdev: 0
  unix::block-size: 4096
  unix::blocks: 8
  owner::user: till
  owner::user-real: Till Kamppeter
  owner::group: till
till@till:~/fritzbox$ gvfs-info ~/telekom/TelekomTV-HD.m3u | grep -i handler

I checked the configuration for the mime type:

till@till:~/fritzbox$ gvfs-mime --query audio/x-mpegurl
Default application for 'audio/x-mpegurl': rhythmbox.desktop
Registered applications:
 rhythmbox.desktop
 vlc.desktop
 telekom-tv.desktop
 totem.desktop
 brasero.desktop
 gedit.desktop
 GoogleDocsdocsgooglecom.desktop
 wine-extension-txt.desktop
 kde4-okularApplication_txt.desktop
 emacs24.desktop
 libreoffice-writer.desktop
Recommended applications:
 vlc.desktop
 rhythmbox.desktop
 telekom-tv.desktop
 totem.desktop
 brasero.desktop

till@till:~/fritzbox$ grep x-mpegurl ~/.local/share/applications/*
/home/till/.local/share/applications/mimeapps.list:audio/x-mpegurl=vlc.desktop
/home/till/.local/share/applications/mimeapps.list~:audio/x-mpegurl=vlc.desktop
/home/till/.local/share/applications/mimeinfo.cache:audio/x-mpegurl=telekom-tv.desktop;
/home/till/.local/share/applications/telekom-tv.desktop:MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;video/x-flv;video/vnd.rn-realvideo;video/mp4;video/mp4v-es;video/mp2t;application/ogg;application/x-ogg;video/x-ogm+ogg;audio/x-vorbis+ogg;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;audio/amr;audio/amr-wb;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/xspf+xml;x-scheme-handler/mms;x-scheme-handler/rtmp;x-scheme-handler/rtsp;
/home/till/.local/share/applications/telekom-tv.desktop~:MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;video/x-flv;video/vnd.rn-realvideo;video/mp4;video/mp4v-es;video/mp2t;application/ogg;application/x-ogg;video/x-ogm+ogg;audio/x-vorbis+ogg;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;audio/amr;audio/amr-wb;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/xspf+xml;x-scheme-handler/mms;x-scheme-handler/rtmp;x-scheme-handler/rtsp;
till@till:~/fritzbox$ grep audio/x-mpegurl /usr/share/applications
grep: /usr/share/applications: Is a directory
till@till:~/fritzbox$ grep audio/x-mpegurl /usr/share/applications/*
/usr/share/applications/brasero.desktop:MimeType=application/x-cd-image;application/x-cdrdao-toc;application/x-cue;application/x-toc;audio/x-scpls;audio/x-ms-asx;audio/x-mp3-playlist;audio/x-mpegurl;application/x-brasero;x-content/audio-cdda;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;x-content/image-picturecd;
/usr/share/applications/defaults.list:audio/x-mpegurl=rhythmbox.desktop
grep: /usr/share/applications/kde4: Is a directory
/usr/share/applications/mimeinfo.cache:audio/x-mpegurl=vlc.desktop;rhythmbox.desktop;totem.desktop;brasero.desktop;
/usr/share/applications/rhythmbox.desktop:MimeType=application/x-ogg;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-mpegurl;audio/x-flac;audio/mp4;x-scheme-handler/itms;x-scheme-handler/itmss;
/usr/share/applications/totem.desktop:MimeType=application/mxf;application/ogg;application/ram;application/sdp;application/smil;application/smil+xml;application/vnd.apple.mpegurl;application/vnd.ms-wpl;application/vnd.rn-realmedia;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-netshow-channel;application/x-ogg;application/x-quicktime-media-link;application/x-quicktimeplayer;application/x-shorten;application/x-smil;application/xspf+xml;audio/3gpp;audio/ac3;audio/AMR;audio/AMR-WB;audio/basic;audio/flac;audio/midi;audio/mp2;audio/mp4;audio/mpeg;audio/mpegurl;audio/ogg;audio/prs.sid;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-pn-wav;audio/x-pn-windows-acm;audio/x-realaudio;audio/x-real-audio;audio/x-s3m;audio/x-sbc;audio/x-scpls;audio/x-speex;audio/x-stm;audio/x-tta;audio/x-wav;audio/x-wavpack;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-xm;image/vnd.rn-realpix;image/x-pict;misc/ultravox;text/google-video-pointer;text/x-google-video-pointer;video/3gp;video/3gpp;video/dv;video/divx;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/ogg;video/quicktime;video/vivo;video/vnd.divx;video/vnd.mpegurl;video/vnd.rn-realvideo;video/vnd.vivo;video/webm;video/x-anim;video/x-avi;video/x-flc;video/x-fli;video/x-flic;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg2;video/x-ms-asf;video/x-ms-asx;video/x-msvideo;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-nsv;video/x-ogm+ogg;video/x-theora+ogg;video/x-totem-stream;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;x-scheme-handler/pnm;x-scheme-handler/mms;x-scheme-handler/net;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/rtsp;x-scheme-handler/mmsh;x-scheme-handler/uvox;x-scheme-handler/icy;x-scheme-handler/icyx;
/usr/share/applications/vlc.desktop:MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;video/x-flv;video/vnd.rn-realvideo;video/mp4;video/mp4v-es;video/mp2t;application/ogg;application/x-ogg;video/x-ogm+ogg;audio/x-vorbis+ogg;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;audio/amr;audio/amr-wb;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/xspf+xml;x-scheme-handler/mms;x-scheme-handler/rtmp;x-scheme-handler/rtsp;

till@till:~/fritzbox$ grep audio/x-mpegurl /usr/share/applications/*
/usr/share/applications/brasero.desktop:MimeType=application/x-cd-image;application/x-cdrdao-toc;application/x-cue;application/x-toc;audio/x-scpls;audio/x-ms-asx;audio/x-mp3-playlist;audio/x-mpegurl;application/x-brasero;x-content/audio-cdda;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;x-content/image-picturecd;
/usr/share/applications/defaults.list:audio/x-mpegurl=rhythmbox.desktop
grep: /usr/share/applications/kde4: Is a directory
/usr/share/applications/mimeinfo.cache:audio/x-mpegurl=vlc.desktop;rhythmbox.desktop;totem.desktop;brasero.desktop;
/usr/share/applications/rhythmbox.desktop:MimeType=application/x-ogg;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-mpegurl;audio/x-flac;audio/mp4;x-scheme-handler/itms;x-scheme-handler/itmss;
/usr/share/applications/totem.desktop:MimeType=application/mxf;application/ogg;application/ram;application/sdp;application/smil;application/smil+xml;application/vnd.apple.mpegurl;application/vnd.ms-wpl;application/vnd.rn-realmedia;application/x-extension-m4a;application/x-extension-mp4;application/x-flac;application/x-flash-video;application/x-matroska;application/x-netshow-channel;application/x-ogg;application/x-quicktime-media-link;application/x-quicktimeplayer;application/x-shorten;application/x-smil;application/xspf+xml;audio/3gpp;audio/ac3;audio/AMR;audio/AMR-WB;audio/basic;audio/flac;audio/midi;audio/mp2;audio/mp4;audio/mpeg;audio/mpegurl;audio/ogg;audio/prs.sid;audio/vnd.rn-realaudio;audio/x-aiff;audio/x-ape;audio/x-flac;audio/x-gsm;audio/x-it;audio/x-m4a;audio/x-matroska;audio/x-mod;audio/x-mp3;audio/x-mpeg;audio/x-mpegurl;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;audio/x-ms-wma;audio/x-musepack;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-realaudio;audio/x-pn-realaudio-plugin;audio/x-pn-wav;audio/x-pn-windows-acm;audio/x-realaudio;audio/x-real-audio;audio/x-s3m;audio/x-sbc;audio/x-scpls;audio/x-speex;audio/x-stm;audio/x-tta;audio/x-wav;audio/x-wavpack;audio/x-vorbis;audio/x-vorbis+ogg;audio/x-xm;image/vnd.rn-realpix;image/x-pict;misc/ultravox;text/google-video-pointer;text/x-google-video-pointer;video/3gp;video/3gpp;video/dv;video/divx;video/fli;video/flv;video/mp2t;video/mp4;video/mp4v-es;video/mpeg;video/msvideo;video/ogg;video/quicktime;video/vivo;video/vnd.divx;video/vnd.mpegurl;video/vnd.rn-realvideo;video/vnd.vivo;video/webm;video/x-anim;video/x-avi;video/x-flc;video/x-fli;video/x-flic;video/x-flv;video/x-m4v;video/x-matroska;video/x-mpeg;video/x-mpeg2;video/x-ms-asf;video/x-ms-asx;video/x-msvideo;video/x-ms-wm;video/x-ms-wmv;video/x-ms-wmx;video/x-ms-wvx;video/x-nsv;video/x-ogm+ogg;video/x-theora+ogg;video/x-totem-stream;x-content/video-dvd;x-content/video-vcd;x-content/video-svcd;x-scheme-handler/pnm;x-scheme-handler/mms;x-scheme-handler/net;x-scheme-handler/rtp;x-scheme-handler/rtmp;x-scheme-handler/rtsp;x-scheme-handler/mmsh;x-scheme-handler/uvox;x-scheme-handler/icy;x-scheme-handler/icyx;
/usr/share/applications/vlc.desktop:MimeType=video/dv;video/mpeg;video/x-mpeg;video/msvideo;video/quicktime;video/x-anim;video/x-avi;video/x-ms-asf;video/x-ms-wmv;video/x-msvideo;video/x-nsv;video/x-flc;video/x-fli;video/x-flv;video/vnd.rn-realvideo;video/mp4;video/mp4v-es;video/mp2t;application/ogg;application/x-ogg;video/x-ogm+ogg;audio/x-vorbis+ogg;application/x-matroska;audio/x-matroska;video/x-matroska;video/webm;audio/webm;audio/x-mp3;audio/x-mpeg;audio/mpeg;audio/x-wav;audio/x-mpegurl;audio/x-scpls;audio/x-m4a;audio/x-ms-asf;audio/x-ms-asx;audio/x-ms-wax;application/vnd.rn-realmedia;audio/x-real-audio;audio/x-pn-realaudio;application/x-flac;audio/x-flac;application/x-shockwave-flash;misc/ultravox;audio/vnd.rn-realaudio;audio/x-pn-aiff;audio/x-pn-au;audio/x-pn-wav;audio/x-pn-windows-acm;image/vnd.rn-realpix;audio/x-pn-realaudio-plugin;application/x-extension-mp4;audio/mp4;audio/amr;audio/amr-wb;x-content/video-vcd;x-content/video-svcd;x-content/video-dvd;x-content/audio-cdda;x-content/audio-player;application/xspf+xml;x-scheme-handler/mms;x-scheme-handler/rtmp;x-scheme-handler/rtsp;
till@till:~/fritzbox$

The command line

xdg-open ~/telekom/TelekomTV-HD.m3u

opens the file with Rhythmbox.

It seems that the system's configuration has priority against the user configuration.

In addition, there must be an easy (GUI) way to configure which files are opened by which applications.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks Till, could you attach your ~/.local/share/applications/mimeapps.list to the bug? Note that you should be able to change the handler from nautilus, by right clicking on a file and going to the properties "open with" tab

Changed in desktop-file-utils (Ubuntu):
importance: Undecided → Low
status: New → Incomplete
milestone: trusty-updates → none
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :
Changed in desktop-file-utils (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Seb, I have tried to set the association with Nautilus now and now Chromium uses VLC. Looking into the ~/.local/share/applications/mimeapps.list I see the difference now. The "audio/x-mpegurl=vlc.desktop" has to go into the "[Default Applications]" section and not into "[Added Associations]".

It is not very intuitive that you have to set the file association to be used to open a file by Chromium in Nautilus. Perhaps Chromium should have some file association setting menu where one can select a file type and then Nautilus' properties dialog for this file gets opened.

Anothjer observation is that if I click a TV station icon in Chromium now, the file is downloaded and listed as a downloaded file at the bottom of the Chromium window. Then I have to click it there to open. Is there a way to make it open directly?

Revision history for this message
Sebastien Bacher (seb128) wrote :

> I have tried to set the association with Nautilus now and now Chromium uses VLC. Looking into the ~/.local/share/applications
> /mimeapps.list I see the difference now. The "audio/x-mpegurl=vlc.desktop" has to go into the "[Default Applications]" section
> and not into "[Added Associations]".

Ok, so that part was an incorrect configuration and not a bug

> It is not very intuitive that you have to set the file association to be used to open a file by Chromium in Nautilus. Perhaps
> Chromium should have some file association setting menu where one can select a file type and then Nautilus' properties dialog
> for this file gets opened.

The associations is not specific to chromium, the same handle is used when e.g clicking on the file in nautilus. I'm reassigning the bug to unity-control-center as a wishlist. The "details" settings provide control of the associated applications for music/photo/video, but could perhaps provide more detailed controls as well

> Anothjer observation is that if I click a TV station icon in Chromium now, the file is downloaded and listed as a downloaded file at
> the bottom of the Chromium window. Then I have to click it there to open. Is there a way to make it open directly?

I don't know about that one, you can try asking Chad or opening a new bug against chromium to request that

Changed in desktop-file-utils (Ubuntu):
assignee: Sebastien Bacher (seb128) → nobody
affects: desktop-file-utils (Ubuntu) → unity-control-center (Ubuntu)
Changed in unity-control-center (Ubuntu):
importance: Low → Wishlist
status: Confirmed → Triaged
summary: - Personal configuration for mime type handling not respected,
- configuration way to complicated and unintuitive
+ There is no easy way to associate an handler to a specific type
summary: - There is no easy way to associate an handler to a specific type
+ There is no easy way to associate a program to a specific mimetype (out
+ of using nautilus)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.