在Gnome的文件管理器(nautilus)里,双击一个文件的时候,系统会自动调用相应的程序去打开这个文件。在Nautilus里通过右键菜单固然可以修改默认的打开方式,但是缺乏灵活性和可操作性,比如,不能删除一些候选的打开方式,不能批量增加一些打开方式等等。

 

GNMOE的打开方式的配置方式涉及到以下几个目录和文件:

 

/usr/share/applications

~/.local/share/applications

/usr/share/applications/mimeinfo.cache

~/.local/share/applications/mimeinfo.cache

 

去这几个目录看一下,就会发现很多以.desktop为后缀的文件。

 

从总体上讲/etc/gnome/defaults.list 保存了全局的打开方式;

 

~/.local/share/applications/defaults.list 保存了个人的打开方式;当两着不一致是,优先采用局部的个人设置。

 

~/.local/share/applications

/usr/share/applications

 

这两个分别是局部的desktop项和全局的desktop项

/usr/share/applications/mimeinfo.cache

~/.local/share/applications/mimeinfo.cache

 

这两个分别是全局的和局部的打开方式缓存,想删除某种打开方式,或者修改默认的打开方式,在这里删除或改变顺序即可。

 

/usr/share/applications/defaults.list的结构 是这样的一种形式

 

程序的类型/文件类型=打开这个文件的项;[项2;]…[项n;]

 

候选打开方式可以有好几种中间用;隔开,不留其余字符

 

要修改一个文件的打开方式,需要先确定这个文件的类型

 

以纯文本文件为例 类型是plain 打开方式默认为vim.desktop候选的是firefox.desktop

 

text/plain=vim.desktop;firefox.desktop

 

可以直接编辑

~/.local/share/applications/defaults.list

 

编辑完之后,手工修改

/usr/share/applications/mimeinfo.cache

~/.local/share/applications/mimeinfo.cache

 

这两个cache文件。

 

下面看一下desktop文件的结构

[Desktop Entry]

Encoding=UTF-8 //字符编码

Name=vim  //现实的名字

MimeType=text/plain; //类型

Exec=vim %f //运行的程序 %f表示一个参数

Type=Application //类型

Terminal=true //是否使用终端

NoDisplay=true //是否显示在gnome菜单里