Show Table of Contents
12.3. 配置文件关联
12.3.1. 什么是 MIME 类型?
在 GNOME 系统中,通过 MIME(多用途 Internet 邮件扩展)的类型来识别文件格式。 GNOME 桌面使用 MIME 类型来:
- 确定默认用哪个应用程序打开某种特定的文件格式。
- 注册同样能打开某种特定文件格式的其它应用程序。
- 在例如 文件 应用程序的文件属性对话框中,提供了描述文件类型的字符串。
- 在例如 文件 应用程序的文件属性对话框中,提供了代表某种特定文件格式的图标。
MIME 类型名字遵循指定的格式:
media-type/subtype-identifier
例 12.7. MIME 类型格式
“
image/jpeg”是 MIME 类型的一个例子,其中“image”是媒体类型,“jpeg”是子类型识别符。
GNOME 系统根据 freedesktop.org Shared MIME Info(freedesktop.org 共享 MIME 信息)规范来确定:
- 存储所有 MIME 类型说明文件的位置,包括计算机范围的位置和用户特定的位置。
- 如何注册一种 MIME 类型,使得桌面环境知道哪些应用程序可以用来打开某种特定的文件格式。
- 用户如何更改哪种应用程序打开哪种文件格式。
12.3.1.1. 什么是 MIME 数据库?
MIME 数据库是 GNOME 系统用来存储关于已知 MIME 类型信息的所有 MIME 类型说明文件的集合。
从系统管理员的角度来看,MIME 数据库最重要的部分是
/usr/share/mime/packages/ 目录,其中存储着对已知 MIME 类型信息进行说明的 MIME 类型相关文件。这种文件的一个例子是 /usr/share/mime/packages/freedesktop.org.xml,它对默认设置下系统中可用的标准 MIME 类型的信息作了说明。该文件由 shared-mime-info 软件包提供。
12.3.1.2. 获得更多信息
描述 MIME 类型系统的详细信息,请参见位于网站 freedesktop.org 上的〈freedesktop.org Shared MIME Info specification(freedesktop.org 共享 MIME 信息说明)〉。
12.3.2. 为所有用户添加某种自定义的 MIME 类型
如需为系统上的所有用户添加一个自定义的 MIME 类型,并为该 MIME 类型注册一个默认的应用程序,您需要在
/usr/share/mime/packages/ 目录下创建一个新的 MIME 类型说明文件,在 /usr/share/applications/ 目录下创建一个 .desktop 文件。
过程 12.3. 为所有用户添加自定义的“application/x-newtype”MIME 类型。
- 创建
/usr/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 类型。 - 创建一个名为例如
myapplication1.desktop的新的.desktop文件,并将它放置在/usr/share/applications/目录下:[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1
上述myapplication1.desktop样本文件将“application/x-newtype”MIME 类型与一个名为 My Application 1 的应用程序相关联,该应用程序由myapplication1命令运行。 - 请以 root 身份更新 MIME 数据库以使您的更改生效:
#update-mime-database /usr/share/mime - 请以 root 身份更新应用程序数据库:
#update-desktop-database /usr/share/applications - 如需确认您已成功将
*.xyz文件与“application/x-newtype”MIME 类型相关联,首先需要创建一个空白文档,例如文件test.xyz:$touch test.xyz然后运行gvfs-info命令:$gvfs-info test.xyz | grep "standard::content-type"standard::content-type: application/x-newtype - 如需确认
myapplication1.desktop文件已被正确设置为“application/x-newtype”MIME 类型的默认注册应用程序,请运行gvfs-mime --query命令:$gvfs-mime --query application/x-newtypeDefault application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop
12.3.3. 为个别用户添加自定义的 MIME 类型
如需为个别用户添加自定义的 MIME 类型,并为该 MIME 类型注册一个默认的应用程序,您需要在
~/.local/share/mime/packages/ 目录下创建一个 新的 MIME 类型说明文件,并在 ~/.local/share/applications/ 目录下创建一个 .desktop 文件。
过程 12.4. 为个别用户添加自定义的 application/x-newtype 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 类型。 - 创建一个名为例如
myapplication1.desktop的新的.desktop文件,并将它放置在~/.local/share/applications/目录下:[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1
上述myapplication1.desktop样本文件将application/x-newtypeMIME 类型与一个名为 My Application 1 的应用程序相关联,该应用程序由myapplication1命令运行。 - 更新 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命令:$gvfs-info test.xyz | grep "standard::content-type"standard::content-type: application/x-newtype - 如需确认
myapplication1.desktop文件已被正确设置为“application/x-newtype”MIME 类型的注册默认应用程序,请运行gvfs-mime --query命令:$gvfs-mime --query application/x-newtypeDefault application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop
12.3.4. 为所有用户覆盖默认注册的应用程序
/usr/share/applications/defaults.list 文件说明了哪个应用程序被注册默认打开特定的 MIME 类型。如需为系统所有用户覆盖系统默认设置,您需要创建一个 /usr/share/applications/mimeapps.list 文件,其中包括了您想要覆盖的默认注册应用程序所对应的 MIME 类型的清单。
过程 12.5. 为所有用户覆盖默认注册的应用程序
- 查阅
/usr/share/applications/defaults.list文件来确定您想要更改的默认注册应用程序所对应的 MIME 类型。例如,如下defaults.list样本文件中说明了text/html和application/xhtml+xmlMIME 类型所对应的默认注册应用程序:[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
通过规定对应的.desktop文件(firefox.desktop)来定义默认应用程序(Firefox)。其它应用程序的.desktop文件的默认位置是/usr/share/applications/。 - 创建
/usr/share/applications/mimeapps.list文件。在文件中说明 MIME 类型和它们对应的默认注册应用程序:[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop [Added Associations] text/html=myapplication1.desktop; application/xhtml+xml=myapplication2.desktop;
这将text/htmlMIME 类型的默认注册应用程序设置为myapplication1.desktop,将application/xhtml+xmlMIME 类型的默认注册应用程序设置为myapplication2.desktop。为了使这些设置正确起作用,请确保myapplication1.desktop文件和myapplication2.desktop文件都放置于/usr/share/applications/目录下。 - 您可以使用
gvfs-mime --query命令来确认默认注册应用程序已正确设置:$gvfs-mime --query text/htmlDefault application for 'text/html': myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop
12.3.5. 为个别用户覆盖默认注册的应用程序
/usr/share/applications/defaults.list 文件说明了哪个应用程序被注册默认打开特定的 MIME 类型。如需为个别用户覆盖系统默认设置,您需要创建一个 ~/.local/share/applications/mimeapps.list 文件,其中包括了您想要覆盖的默认注册应用程序所对应的 MIME 类型的清单。
过程 12.6. 为个别用户覆盖默认注册的应用程序
- 查阅
/usr/share/applications/defaults.list文件来确定您想要更改的默认注册应用程序所对应的 MIME 类型。例如,如下defaults.list样本文件中说明了text/html和application/xhtml+xmlMIME 类型所对应的默认注册应用程序:[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
通过规定对应的.desktop文件(firefox.desktop)来定义默认应用程序(Firefox)。其它应用程序的.desktop文件的系统默认位置是/usr/share/applications/。个别用户的.desktop文件可以储存在~/.local/share/applications/中。 - 创建
~/.local/share/applications/mimeapps.list文件。在文件中说明 MIME 类型和它们对应的默认注册应用程序:[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop [Added Associations] text/html=myapplication1.desktop; application/xhtml+xml=myapplication2.desktop;
这将text/htmlMIME 类型的默认注册应用程序设置为myapplication1.desktop,将application/xhtml+xmlMIME 类型的默认注册应用程序设置为myapplication2.desktop。为了使这些设置正确起作用,请确保myapplication1.desktop文件和myapplication2.desktop文件都放置于/usr/share/applications/目录下。 - 您可以使用
gvfs-mime --query命令来确认默认注册应用程序已正确设置:$gvfs-mime --query text/htmlDefault application for 'text/html': myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.