xdg-mime 不尊重 $XDG_CONFIG_HOME/mimeapps.list

问题描述 投票:0回答:1

这一切都是从我尝试打开文件时 Visual Studio Code 崩溃开始的。排除故障后,我似乎将其归咎于 MIME 问题。现在我无法理解这种行为。

基本上我的图像处理程序停止工作。我可以创建一个新的处理程序来使用

xdg-mime
,但是当我查询它或尝试使用 opener 时,它无法选择正确的处理程序。

根据手册,

$XDG_CONFIG_HOME/mimeapps.list
应该优先。该文件具有正确的格式。 xdg-mime 似乎可以写入它,但由于某种原因无法查询它。

  1. 添加新处理程序
~ main• ❱ env XDG_UTILS_DEBUG_LEVEL=2 xdg-mime default feh.desktop image/jpeg
make_default_kde: No kde runtime detected
make_default_generic feh.desktop image/jpeg
Updating /home/om/.config/mimeapps.list
  1. 检查已添加
~ main• ❱ cat $XDG_CONFIG_HOME/mimeapps.list | grep image/jpeg
image/jpeg=feh.desktop
  1. xdg-mime query
    没有看到它,尽管它首先检查了正确的文件
~ main• ❱ env XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query default image/jpeg
Checking /home/om/.config/mimeapps.list
Checking /home/om/.local/share/applications/mimeapps.list
Checking /home/om/.local/share/applications/mimeapps.list
Checking /home/om/.local/share/applications/defaults.list and /home/om/.local/share/applications/mimeinfo.cache
Checking /home/om/.local/share/applications/defaults.list and /home/om/.local/share/applications/mimeinfo.cache
Checking /home/om/.local/share/applications/defaults.list and /home/om/.local/share/applications/mimeinfo.cache
Checking /home/om/.local/share/applications/defaults.list and /home/om/.local/share/applications/mimeinfo.cache
archlinux xdgutils
1个回答
0
投票

在这种情况下,问题出在环境变量上。我意识到

/home/om/.local/share/applications/defaults.list
覆盖了
/home/om/.config/mimeapps.list

在我将

defaults.list
符号链接到
mimeapps.list
后,它解决了问题,但这看起来有点老套。

后来我发现我将

XDG_DATA_DIRS
XDG_DATA_HOME
混合在一起,即:
XDG_DATA_DIRS=$HOME/.local/share
,我怀疑这将系统范围的 MIME 列表与用户特定的 MIME 列表混淆了。在我取消设置
XDG_DATA_DIRS
并将
XDG_DATA_HOME
设置为
$HOME/.local/share
后,
xdg-mime
不再查找其他文件:

~ main• ❱ env XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query default image/jpeg
Checking /home/om/.config/mimeapps.list
feh.desktop

参考:basedir-spec

© www.soinside.com 2019 - 2024. All rights reserved.