除了此列表中的文件之外,是否还有 mimetype-to-application 关联文件?

除了此列表中的文件之外,是否还有 mimetype-to-application 关联文件?

上下文:我有一个 Ubuntu/Dolphin 错误行为,它似乎认为*.mkv文件是用ark.下面的屏幕截图表示打开Properties对话框然后单击File Type Options

在此输入图像描述

请注意,优先顺序是 Ark、GIMP、VLC。如果我尝试使用 UI 重新排列这些内容并按“确定”,则更改不会生效 - 重新打开对话框会显示以前的关联和排序,并且重新启动不会显示任何更改。

一项小小的研究告诉我,文件关联存储在这些文件之一中,具体取决于您运行的 *nix:

/usr/share/applications/defaults.list
/usr/share/applications/mimeapps.list
/usr/local/share/applications/defaults.list
/usr/local/share/applications/mimeapps.list
$HOME/.local/share/applications/defaults.list
$HOME/.local/share/applications/mimeapps.list

在我的Ubuntu系统上,只存在以下两个文件。

  1. /usr/share/applications/defaults.list
  2. $HOME/.local/share/applications/mimeapps.list

正在调查...

$> grep matroska {/usr,/usr/local,$HOME/.local}/share/applications/{defaults,mimeapps}.list 2>/dev/null                                                                                                                               
/usr/share/applications/defaults.list:application/x-matroska=org.gnome.Totem.desktop
/usr/share/applications/defaults.list:audio/x-matroska=org.gnome.Totem.desktop
/usr/share/applications/defaults.list:video/x-matroska=org.gnome.Totem.desktop
$HOME/.local/share/applications/mimeapps.list:video/x-matroska=vlc.desktop;org.kde.ark.desktop;gimp.desktop;
$HOME/.local/share/applications/mimeapps.list:video/x-matroska=vlc.desktop;

这似乎表明ark不是文件的第一优先级文件关联*.mkv。这也是该字符串ark在所有这些文件中唯一出现的一次,并且没有出现该字符串mkv

由此我得出结论,Dolphin 正在从上面列出的文件以外的其他地方找到其文件关联。

我错过了什么?

答案1

您缺少用户特定的 mimetype 关联的主要默认位置:

~/.config/mimeapps.list

或者,更一般地说:

$XDG_CONFIG_HOME/mimeapps.list

哪里$XDG_CONFIG_HOME~/.config/ 默认情况下

但不要感到难过:你们有很好的伙伴。这个位置多年来一直是标准,但不幸的是许多应用程序仍然使用旧位置,造成很多混乱和冲突。以下是 FreeDesktop 标准的摘录:

该文件的查找顺序如下:

$XDG_CONFIG_HOME/$desktop-mimeapps.list            user overrides, desktop-specific (for advanced users)
$XDG_CONFIG_HOME/mimeapps.list                     user overrides (recommended location for user configuration GUIs)
$XDG_CONFIG_DIRS/$desktop-mimeapps.list            sysadmin and ISV overrides, desktop-specific
$XDG_CONFIG_DIRS/mimeapps.list                     sysadmin and ISV overrides
$XDG_DATA_HOME/applications/$desktop-mimeapps.list for completeness, deprecated, desktop-specific
$XDG_DATA_HOME/applications/mimeapps.list          for compatibility, deprecated
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list distribution-provided defaults, desktop-specific
$XDG_DATA_DIRS/applications/mimeapps.list          distribution-provided defaults

https://specations.freedesktop.org/mime-apps-spec/1.0.1/ar01s02.html

顺便说一句,~/.local/share/applications/defaults.list 它被弃用的时间甚至比 ~/.local/share/applications/mimeapps.list.

就我个人而言,我一直认为 defaults.list 是全局文件,因为这就是 Debian GNOME 团队用来为用户设置默认应用程序的文件,并且用户自己的本地目录中的 mimeapps.list 将覆盖该全局 defaults.list 我看到现在我错了,mimeapps.list也可以在全球范围内使用,Debian仍然使用defaults.list只是出于历史原因

Xfce 的实用程序在定义首选应用程序/文件关联时修改用户目录中的 mimeapps.list 我希望 GNOME 如今也能做同样的事情

那么,为了消除混乱,是否可以在某个地方将 defaults.list 声明为过时,以便停止混乱?

https://lists.freedesktop.org/archives/xdg/2014-February/013182.html

更多信息:

相关内容