在Linux中注册文件扩展名/ MIME类型

时间:2020-03-05 18:44:02  来源:igfitidea点击:

我正在开发一种具有自己文件格式的Linux应用程序。当我们双击那些文件时,我希望打开我的应用程序。

如何在Linux上注册文件扩展名并将其与我的应用程序关联?我正在寻找一种标准方法(可用于基于GNOME和KDE的系统),并且可以在首次安装或者运行程序时自动完成。

解决方案

回答

1)在linux中,这是桌面环境的功能,而不是os本身的功能。
2)GNOME和KDE有不同的方法来完成此操作。
3)没有什么可以阻止我们同时进行。

回答

这有两个部分。我们需要注册一个新的文件类型,然后为应用程序创建一个桌面条目。桌面条目将应用程序与新的mime类型相关联。

我以为Gnome和KDE(也许只有4+?)都使用了freedesktop共享的mime信息规范,但我很可能错了。

回答

使用freedesktop.org Portland的xdg-utils。

注册MIME类型的图标:

xdg-icon-resource install --context mimetypes --size 48 myicon-file-type.png x-application-mytype

创建一个配置文件(freedesktop Shared MIME文档):

<?xml version="1.0"?>
 <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
   <mime-type type="application/x-mytype">  
   <comment>A witty comment</comment>
   <comment xml:lang="it">Uno Commento</comment>
   <glob pattern="*.myapp"/>
  </mime-type>
 </mime-info>

安装配置文件:

xdg-mime install mytype-mime.xml

这将使文件被识别并与一个图标相关联。安装了.desktop文件后,xdg-mime default可以用于将应用程序与MIME类型相关联。