25

有人可以提供有关如何使用(使用 GNOME Ubuntu)XDG-MIME命令的示例吗?即使使用文档,我也很难让任何东西都能正常工作。

例如,如果我想使用名为 MyApp 的应用程序注册扩展名 .mfe,步骤是什么?到目前为止,这是我的尝试,我将不胜感激任何关于正确处理的指示......

这是我的 xml (MyApp-MyFileType.xml)文件名如何相关?

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="text/mfe">
    <comment>File for MyApp</comment>
    <glob pattern="*.mfe"/>
  </mime-type>
</mime-info>

那么是运行这个命令吗?

xdg-mime install MyApp-MyFileType.xml

然后我运行这个?xxx 与什么有关?,我理解它是我的应用程序的标识符,但我如何定义它?

xdg-mime default xxx.desktop text/mfe
4

3 回答 3

25

所有需要的信息都在man xdg-mime.

  1. 检查实际的 mime 类型xdg-mime query filetype filename.ext(响应可能是 eg application/octet-stream

  2. 如果您决定创建自己的 MIME 类型,您应该像您提供的示例一样编辑 XML 文件。您应该检查要创建的 mime 类型名称是否存在,以免覆盖它。您可以在 中查看已注册的 mime 类型/usr/share/applications/defaults.list

  3. 然后,正如您所指出的,是时候为sudo xdg-mime install --mode system MyApp-MyFileType.xml系统上的所有用户注册新的 mime-type 了。

  4. 此时,如果您再次检查 MIME 类型(如步骤 1 所示),您应该会得到所需的响应(您的新 MIME 类型)。

  5. 现在是时候向所需的应用程序注册新的 mime 类型了。关联是通过sudo xdg-mime default MyApp.desktop text/mfe(在您的示例中)完成的。要查看可用.desktop文件,只需执行以下操作:(ls /usr/share/applications | less我认为这就是您要查找的内容)。

  6. 最后一步是注册图标,xdg-icon-resource但这是另一个主题。

希望这可以帮助!

于 2011-03-30T10:28:50.817 回答
6

能够xdg-open afile.myapp

  1. 像你一样为文件类型制作一个描述xml。
  2. xdg-mime install vendor-filetype.xml
  3. 为您的应用程序创建一个myapp.desktop文件,如下所示:.desktop 示例
  4. xdg-mime default myapp.desktop filetype
于 2010-12-05T03:05:25.357 回答
0

为组合文件名添加应用案例,因为xdg-mime default在这种特殊情况下对我不起作用。


目标:将所有文件*.mybot.json与一个特殊的专用脚本相关联mybot,同时保留常规.json文件的默认行为(例如:放入 Firefox 仍会将文件识别为.json,但单击它们将打开预定义的mybot脚本)


✅ 创建mybot.xml

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
  <mime-type type="application/mybot">
    <comment>My Bot json data</comment>
    <glob pattern="*.mybot.json"/>
  </mime-type>
</mime-info>

✅ 创建mybot.desktop并测试它:

单击它应该启动调用的mybot脚本/home/bots/

ⓘ 目标脚本mybot必须设置为可执行并且是hashbang shell 脚本,并在第一行设置 lang 解释器,因为由 bash 启动。

ⓘ 我们可以使用现有的众多图标之一/usr/share/icons

[Desktop Entry]
Version=1.0
Name=mybot
Exec=bash -c '/home/bots/mybot;/bin/bash'
Icon=utilities-terminal
Terminal=true
Type=Application
Categories=Development;

⚠️ 重要的是单击一次并将其标记为受信任。之后图标会发生变化。


✅ Mime 安装在机器上,文件资源管理器将开始将*.mybot.json文件识别为My Bot json data (application/mybot).

sudo xdg-mime install mybot.xml

✅ 然后,只需将 .desktop 启动器复制到/usr/share/applications

sudo cp mybot.desktop /usr/share/applications

现在作为示例,*.mybot.json从您的网站下载或通过电子邮件发送的文件可以直接从浏览器使用本地计算机上的给定脚本快速打开。它允许创建一个狂野的自动化生态系统!

于 2020-11-07T05:22:40.920 回答