介绍

MIME类型是Ubuntu上文件的一种识别卡。文件的MIME类型通常由其文件名的扩展名决定;例如,文本文件可能以.txt结尾,图像文件可能以.png或.jpg结尾。这告诉Ubuntu应该用什么图标来表示它,以及默认情况下应该用什么程序打开它。

不幸的是,在Ubuntu中编辑MIME类型的明显选项很肤浅。你可以通过“属性”窗口教Ubuntu用特定的程序打开特定的文件扩展名,但你不能为整个扩展名设置图标:只能为单个文件设置图标。如果你是一个Python程序员,这可能会让你很恼火。Ubuntu不包含Python文件的特殊图标,很难直观区分.py和.pyc文件。

本指南将教您添加新的MIME类型,并将图标与现有类型相关联。我们将使用.py文件作为示例。

添加MIME类型

首先,我们必须确保文件扩展名的MIME类型不存在。打开命令行并输入下面的行,用您的扩展名替换字母py。

grep“py”/etc/mime.types

分析结果

此特定命令将输出两行。如果扩展名没有输出任何行,或者输出的行不包含扩展名,则必须创建新的MIME类型。否则,请查看此输出的右侧,找到文件扩展名,并将相应的文本复制到最右侧。对于“py”,我们必须复制“text/x-python”。

应用程序/x-python-code pyc-pyo文本/x-python py

如果需要,创建MIME类型

如果没有输出,或者给定的输出不包括您的扩展,我们必须添加MIME类型。

gksudo gedit/etc/mime.types

修改以下文本,使单词“extension”替换为文件扩展名(无句点标记),将该行添加到mime.types文件的末尾,然后保存。

文本/扩展名

并复制修改后的“文本/扩展名”部分。

添加MIME类型的另一种方法

在12.04LTS上,我编辑了/etc/mime.types文件,但没有任何效果。对我有用的是添加/usr/share/mime/application中的xml文件;例如,这里有一个文件(scad.xml)来描述scad文件:

<?xml version=“1.0”encoding=“utf-8”?><mime-type xmlns=“http://www.freedesktop.org/standards/shared-mime-info“type=”application/scd“><glob pattern=“*.scad”/></mime-type>

添加或修改所需内容后,运行以下命令

sudo更新-mime-database/usr/share/mime

添加图标

现在我们需要将一个图标与MIME类型相关联。获取一个SVG图标并将其命名为“text-extension.SVG”,或者您修改的MIME类型的名称;这将是表示系统上MIME类型的所有实例的图标。对于我们的python示例,是一个不错的选择。重命名.svg文件,使其与“text-x-python.svg”(或“insertYourMIMEtype.svg”)匹配,以便斜杠替换为“-”,并且没有大写字母。

然后只需运行以下命令,将“text-x-python”替换为MIME类型。

sudo cp文本-x-python.svg/usr/share/icons/gnome/scalable/mimetypessudo-gtk-update-icon-cache/usr/share/icons/gnome/-f

重新登录和以MIME扩展名结尾的所有文件都将显示该图标。

添加MimeTypes(上次编辑2014-02-03 21:59:21rrcs-24-103-168-22标准)