在 Ubuntu 14.04 中添加 mimetypes

在 Ubuntu 14.04 中添加 mimetypes

好的,这就是我想要做的:

我有一个具有特定扩展名 (*.ipynb) 的文件,我想将其与特定程序连接。但是 Ubuntu 认为它是一个text/plain文件。

AskUbuntu 上有很多关于此主题的问题,但都没有解决。我还尝试按照此处给出的说明进行操作: https://help.ubuntu.com/community/AddingMimeTypes - 不工作。

由于这绝对是很多用户遇到的问题,有人可以发布一个答案来解释如何做到这一点吗?

答案1

这对我也有用!我想我也可以把它作为答案发布出来 - https://wiki.archlinux.org/index.php/Default_Applications#Custom_file_associations

自定义文件关联

以下方法手动创建自定义 mime 类型和文件关联。如果您的桌面未安装 mime 类型/文件关联编辑器,则此方法非常有用。在此示例中,虚构的多媒体应用程序“foobar”将与所有 *.foo 文件关联。这只会影响当前用户。

首先,创建文件 ~/.local/share/mime/packages/application-x-foobar.xml

mkdir -p ~/.local/share/mime/packages
cd ~/.local/share/mime/packages
touch application-x-foobar.xml

然后编辑~/.local/share/mime/packages/application-x-foobar.xml并添加以下文本:

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-foobar">
        <comment>foo file</comment>
        <icon name="application-x-foobar"/>
        <glob-deleteall/>
        <glob pattern="*.foo"/>
    </mime-type>
</mime-info>

请注意,您可以使用任何图标,包括另一个应用程序的图标。

接下来,编辑或创建文件 ~/.local/share/applications/foobar.desktop以包含以下内容:

[Desktop Entry]
Name=Foobar
Exec=/usr/bin/foobar
MimeType=application/x-foobar
Icon=foobar
Terminal=false
Type=Application
Categories=AudioVideo;Player;Video;
Comment=

请注意,应根据应用程序类型(在此示例中为多媒体应用程序)适当设置类别。

现在使用以下命令更新应用程序和 mime 数据库:

update-desktop-database ~/.local/share/applications
update-mime-database    ~/.local/share/mime

使用 MIME 类型的程序(例如文件管理器)现在应该可以使用 foobar 打开 *.foo 文件。(您可能需要重新启动文件管理器才能看到更改。)

相关内容