Ubuntu如何创建“用户定义的”文件关联?

我担心我的问题看起来像是一个咆哮,但我真的很好奇是如何创造出如此可怕的环境。

根据这个答案 , 您所做的任何自定义都存储在主目录中的〜/ .local / share / applications / mimeapps.list中 。 但是我发现了以下内容(为清晰起见,列表已缩短并排序):

application/x-shellscript=userapp-emacsclient-ETH68V.desktop;emacs23.desktop;gedit.desktop;openoffice.org-writer.desktop;userapp-thunderbird-5IXU8V.desktop;...;userapp-emacsclient-4DBR8V.desktop;writer.desktop;userapp-thunderbird-5IXU8V.desktop; text/x-sql=emacs23.desktop;userapp-emacsclient-ETH68V.desktop;gedit.desktop;openoffice.org-writer.desktop;userapp-thunderbird- video/mp4=totem.desktop;vlc.desktop; video/mpeg=vlc.desktop; video/x-flv=vlc.desktop; video/x-matroska=totem.desktop;vlc.desktop; video/x-ms-wmv=totem.desktop;vlc.desktop; video/x-msvideo=vlc.desktop; 
  • 为什么emacsclient在那里两次? 这些条目应该是用户定义的,但我确定我没有创建它们。 我也没有重新安装emacs(这可能解释了这种两面性)。

  • 有人认为openoffice.org-writer应该用于编辑shell脚本吗? 甚至雷鸟? 而且,它在那里两次。 这不是我,我敢肯定。

  • 为什么video会根据其格式获得关联? 我不能指定像video/*=vlc.desktop这样的东西(可能有奇怪格式的例外,我最喜欢的播放器无法播放)?

根据我在使用System settings > Details > Default applications的默认应用程序部分的经验,由于某些我无法弄清楚的原因,并不是那么可靠,但Nautilus->RightClick->Open with->SetAsDefault每次都可以工作

首先,如果您没有建立这些连接而不是某个人在您的帐户中并建立了这些连接。 但请注意,“建立连接”并不意味着您编辑了该文件。 这意味着你选择通过Nautilus->RightClick->Open with..打开一些东西。 如你所知,Ubuntu 提供这些,因为你引用了另一个askubuntu问题的答案。 Ubuntu默认值在这里: /usr/share/applications/defaults.list

其次,有一个很好的理由为不同的video类型设置不同的应用程序:某些玩家无法播放所有类型,但如果他们能够,仍然是首选应用程序。

一般情况下,我不建议您编辑该文件,但请遵循以下步骤之一:

  1. System settings > Details > Default applications应该打开如下内容: 在此处输入图像描述 在这里,您可以更改重要摘要 mime类型的首选应用程序。
  2. 使用freedesktop.org实用程序xdg-mime为特定的mime类型指定一个应用程序: xdg-mime default myapp.desktop mymimetype (用你需要的任何东西替换myapp.desktop和mymimetype)
  3. 或者原因使用Nautilus的右键菜单,如您所知: Nautilus->RightClick->Open with..