如何使用xdg-mime命令

时间:2010-01-13 21:09:15

标签: linux ubuntu installation mime file-type

有人可以提供有关如何使用XDG-MIME命令(使用GNOME Ubuntu)的示例吗?即使有了文档,我也在努力工作。

例如,如果我想使用名为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

3 个答案:

答案 0 :(得分:15)

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

  1. 使用xdg-mime query filetype filename.ext检查实际的mime类型(响应可以是例如application/octet-stream

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

  3. 中查看已注册的mime类型
  4. 然后,正如您所指出的那样,是时候注册新的mime-type并使用sudo xdg-mime install --mode system MyApp-MyFileType.xml为系统上的所有用户安装。

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

  6. 现在是时候用所需的应用程序注册新的mime-type。关联是使用sudo xdg-mime default MyApp.desktop text/mfe完成的(在您的示例中)。要查看可用的.desktop文件:ls /usr/share/applications | less(我认为这就是您要查找的内容)。

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

  8. 希望这有帮助!

答案 1 :(得分:4)

能够xdg-open afile.myapp

  1. 为文件类型创建描述xml,就像你一样。
  2. 运行xdg-mime install vendor-filetype.xml
  3. 为您的应用创建一个myapp.desktop文件,如下所示:.desktop example
  4. 运行xdg-mime default myapp.desktop filetype

答案 2 :(得分: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

✅然后,只需将{.1}桌面启动器复制到/usr/share/applications

sudo cp mybot.desktop /usr/share/applications

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