将具有相同MIME但不同文件扩展名的文件关联到不同的应用程序

如何将具有相同MIME但不同扩展名的文件关联到不同的应用程序。
例如, .maff.zip文件都有application/zip MIME; 但我需要通过Firefox打开.maff ,使用ArchiveManager打开.zip
通过Open with dialog设置此项将应用程序关联到MIME,导致两个文件都使用相同的应用程序打开。
如何在Gnome中配置它?
我正在使用Ubuntu Lucid Lynx。

谢谢

截至2016 / Feb / 20,这是将MAFF文件与Firefox(或任何其他文件)相关联的正确解决方案,而不会影响压缩存档/ ZIP关联:

 # run as sudo echo '   Maff File   ' > /usr/share/mime/packages/maff.xml update-mime-database /usr/share/mime # now kill X or logout. 

该解决方案无效,因为该软件包已于v14.04之后从Ubuntu存储库中删除。

我在LinuxMint 17.1 Cinnamon中遇到过类似的问题。 也许这也适用于Gnome (因为两者都遵循freedesktop.org )。

我努力只为一个用户(我)制作Firefox⟷maff关联。 所以我没有触及/etc下的文件。

我做了以下事情:

  1. 恢复ZIP文件和存档管理器之间的正确关联(我在默认文件管理器Nemo中完成 )。

  2. 创建MIME类型的定义。 在我的例子中,我在~/.local/share/mime/packages目录中创建了firefox-maff-my.xml文件,其中包含以下内容:

Mozilla Archive Format

  1. 更新MIME数据库

update-mime-database ~/.local/share/mime/

  1. 编辑~/.local/share/applications/mimeapps.list 。 在[Default Applications]下添加application/maff=firefox.desktop

  2. 注销,然后登录。

如果有疑问,您可以在编辑之前备份每个涉及的文件。 如果出现问题,你可以恢复你所做的一切(只需恢复原始文件,删除firefox-maff-my.xmlfirefox-maff-my.xml运行update-mime-database ~/.local/share/mime/ )。

简单的方法是使用mimeopen命令使用Firefox打开.maff文件格式

打开终端并输入

 mimeopen some_file_name.maff 

您将获得可用的包以打开.maff文件

 Please choose a default application for files of type application/zip 1) Archive Manager (file-roller) 2) Archive Mounter (mount-archive) 3) Other... 

从选项中选择3并输入命令为firefox

 use application #3 use command: firefox 

这将在Firefox中打开.maff文件,并将设置为打开.maff文件的默认程序

我在这里发布了我的逐步解决方案:

http://ubuntuforums.org/showthread.php?p=12505072#2

我不知道.maff文件到底是什么,但是你需要为它定义一个新的MIME类型。 应用程序关联基于MIME类型而不是文件扩展名。