使用 xdg-mime default 时出现问题。已成功设置默认值,但未通过 xdg-open 使用

使用 xdg-mime default 时出现问题。已成功设置默认值,但未通过 xdg-open 使用

当我使用 xdg-open 时,目录一直在 Firefox 中打开。我不想要这个。

我做到了:

xdg-mime default dolphin.desktop application/x-directory

xdg-mime default dolphin.desktop inode/directory

然而,当我尝试

xdg-open /local

我仍然可以看到 Firefox 窗口。这是为什么?我甚至用

xdg-mime query default inode/directory

xdg-mime query default inode/directory

这两个命令都会导致

dolphin.desktop

我不知道如果我使用 ssh 来控制我所指的机器是否会有所不同(我没有在发出这些命令的机器上工作,而是使用 ssh 通过我当前机器的终端来控制它)。

我所在的机器上的目录的默认程序是文件浏览器,而不是 dolphin 或 Firefox,因此这似乎无关紧要。

答案1

就我而言,这种改变不起作用:

$ xdg-mime default evince.desktop application/pdf

在调试状态下运行将显示查询的文件:

$ XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query default application/pdf
Checking /usr/local/share//applications/defaults.list and /usr/local/share//applications/mimeinfo.cache
Checking /usr/local/share//applications/defaults.list and /usr/local/share//applications/mimeinfo.cache
Checking /usr/share//applications/defaults.list and /usr/share//applications/mimeinfo.cache
libreoffice-draw.desktop

查看最后一个文件(找到匹配项的位置)给了我一个提示:

$ grep application/pdf /usr/share/applications/mimeinfo.cache
application/pdf=libreoffice-draw.desktop;gimp.desktop;org.gnome.Evince.desktop;inkscape.desktop;

现在不再叫它了evince.desktop,现在是org.gnome.Evince.desktop

再次,现在使用新名称:

$ xdg-mime default org.gnome.Evince.desktop application/pdf

$ XDG_UTILS_DEBUG_LEVEL=2 xdg-mime query default application/pdf
Checking ~/.config/mimeapps.list
org.gnome.Evince.desktop

好多了!

答案2

对我来说,除了跑步xdg-mime default caja.desktop inode/directory,就是跑步

update-desktop-database ~/.local/share/applications/

最终更新了默认应用程序。

此后,运行xdg-mime query default inode/directory现在显示新的默认应用程序。

相关内容