我只是想找到 xdg-mime 在哪里寻找关联。它到底在做什么?

我只是想找到 xdg-mime 在哪里寻找关联。它到底在做什么?

在这里发布整个 strace 太长了,请尝试

strace -fe open,openat xdg-mime query default inode/directory

可以说,该命令吐出了 429 行,看起来它正在附加进程来读取每个文件,并附加其他进程来执行天知道什么的操作,总共有几十个进程。

答案1

xdg-mime是一个 shell 脚本,因此您可以通过询问 shell 来获得更易于管理的跟踪。

dash -x /usr/bin/xdg-mime

解析命令行后的第一个复杂操作是检测您的桌面环境,使用多种方法的组合:环境变量、通过 D-Bus 检测 Gnome 会话管理器以及查询根窗口的属性。这样做是为了让您可以在 Gnome 上的 Evince 和 KDE 上的 Okular 中阅读 PDF 文件。

之后,xdg-mime根据检测到的桌面环境在位置查找注册为 XDG 应用程序的程序。

相关内容