15.3. 为单个用户添加自定义 MIME 类型
您可以为系统上的单个用户添加一个自定义 MIME 类型,并为该 MIME 类型注册一个默认应用程序。
流程
创建具有以下内容的
~/.local/share/mime/packages/application-x-newtype.xml
文件:<?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-newtype"> <comment>new mime type</comment> <glob pattern="*.xyz"/> </mime-type> </mime-info>
这里的示例
application-x-newtype.xml
文件定义了一个新的 MIME 类型application/x-newtype
,并将扩展名为.xyz
的文件名分配给该 MIME 类型。创建一个的新的 .desktop 文件,如
myapplication1.desktop
,并将其放在~/.local/share/applications/
目录中,其中包含以下内容:[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code
上面的示例
myapplication1.desktop
文件将application/x-newtype
MIME 类型与名为 My Application 1 的应用程序相关联。它通过命令myapplication1
来运行。根据
myapplication1
的启动方式,从 Desktop Entry Specification 中选择一个相应的字段代码。例如,对于能够打开多个文件的应用程序,请使用:Exec=myapplication1 %F
更新 MIME 数据库以使您的更改生效:
$ update-mime-database ~/.local/share/mime
更新应用程序数据库:
$ update-desktop-database ~/.local/share/applications
验证
要验证已将
*.xyz
文件与application/x-newtype
MIME 类型成功关联,请首先创建一个空文件,如 test.xyz ,然后执行以下命令:$ touch test.xyz $ gvfs-info test.xyz | grep "standard::content-type" standard::content-type: application/x-newtype
要验证
myapplication1.desktop
是否已正确设置为application/x-newtype
MIME 类型的默认注册的应用程序,请执行以下命令:$ gio mime --query application/x-newtype Default application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop