在 Ubuntu 14.04 中添加 mimetypes

wa4*_*557 6 mime-type 14.04

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

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

在 AskUbuntu 上有很多关于这个主题的问题,但没有一个有效。我还尝试按照此处给出的说明进行操作:https : //help.ubuntu.com/community/AddingMimeTypes - 没有用。

由于这绝对是很多用户都会遇到的问题,因此任何人都可以发布解释如何执行此操作的答案吗?

Sel*_*lah 12

这对我也有效!想我不妨将它作为答案发布 - 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
Run Code Online (Sandbox Code Playgroud)

然后编辑~/.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>
Run Code Online (Sandbox Code Playgroud)

请注意,您可以使用任何图标,包括用于其他应用程序的图标。

接下来,编辑或创建文件 ~/.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=
Run Code Online (Sandbox Code Playgroud)

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

现在更新应用程序和 mime 数据库:

update-desktop-database ~/.local/share/applications
update-mime-database    ~/.local/share/mime
Run Code Online (Sandbox Code Playgroud)

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