ubuntu12.04之后该死的文件关联

这是抱怨贴~~~当然也提供了解决方法~敬请期待.

这个帖子中我们介绍如何在ubuntu下安装quartus II 13.1,安装完毕功能正常,但是有个“小问题”就是如何在文件管理器中(这里是nautilus管理器)中由quartus II打开qpf文件,

而不是默认用文本打开,ubuntu12.04之前的做法是右键--“使用其它程序打开”,如果在列表中找不到该程序(这里就是Quartus II),那么还有最后一招就是浏览,但是12.04之后,这个功能被阉割了....结果折腾了好久还是不知道如何管理qpf后缀的文件到quartus II。

这种情况下,我就自然想到了使用Ubuntu-tweak的文件类型管理的功能,结果在他哪里面压根找不到qpf后缀的对应项,而且无法添加新的~~~

在搜索引擎上不断的搜索,终于让哥找到了,使用xdg-mime命令(系统自带的)。

xdg-mime - command line tool for querying information about file type
       handling and adding descriptions for new file types

我们使用man 命令查看xdg-mime的帮助的时候,到最后有提到如何“注册”一个新的类型到系统:

 xdg-mime install shinythings-shiny.xml

其中"shinythings-"是厂商名字,而"shiny"通常是后缀,而这个xml的内容通常是:

<?xml version="1.0"?>
           <mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
             <mime-type type="text/x-shiny">
               <comment>Shiny new file type</comment>
               <glob pattern="*.shiny"/>
               <glob pattern="*.shi"/>
             </mime-type>
           </mime-info>

虽然不太懂xml的语法,但是上面这段代码还是很容易修改的,其中在comment后面的一看就知道就是对这个类型的一个说明或者注释,随意,这里我们改成"Quartus II Project file type"

而<mime-type type="text/x-shiny">应该是对这个类型进行分类,由于qpf说到底是一个文本,所以仍然属于text类(我知道的还有application类),所以我们为qpf建立一个新的text子类(我是如此理解),叫做text/x-quartus,

然后后面两个<glob pattern>明显就是制定后缀,而且我们知道可以指定多个后缀,所以最后我们为qpf文件的xml内容是:

<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
    <mime-type type="text/x-quartus">
        <comment>Quartus II Project file type</comment>
        <glob pattern="*.qpf"/>
        <glob pattern="*.qar"/>
    </mime-type>
</mime-info>

这个xml的名字取名为:quartus-qml.xml

然后执行:

xdg-mime install quartus-qpf.xml

这样我们的就注册了新的类型了,你打开ubuntu-tweak之后你会发现qpf类型了。

接下来要做的事情就是制定这个新的mime类型(x-quartus)的默认打开程序:

 xdg-mime default  /usr/share/applications/quartus.desktop text/x-quartus

注意也就是在linux中mime类型适合xxx.desktop绑定在一起而不是直接和可执行文件绑定在一起.

好了,重启之后看下效果吧。

ok,上面我们已经做到了在文件管理器直接用quartusII打开qpf文件(也可以打开qar),但是qpf文件的图标仍然是文本的图标,这也许热爱美好有些完美癖的人受不了,所以接下来要说的就是如何修改

某个mime类型的图标。

依然使用xdg-mime命令,在man手册的最后提到了这个

xdg-icon-resource install --context text/x-quartus --size 64 /opt/altera/13.1/quartus/adm/quartusii.png text-x-quartus
原文地址:https://www.cnblogs.com/tracyone/p/3606482.html