日期:2014-05-16  浏览次数:20671 次

linux 系统中修改右键中的打开方式
注意几个目录和文件。


/usr/share/applications/下的desktop文件
/usr/share/applications/mimeinfo.cache文件
~/.local/share/applications下的desktop文件
~/.local/share/applications/default.list目录下的文件
~/.local/share/applications/mimeinfo.cache文件
/etc/gnome/defaults.list文件

其中default.list文件保存的是文件的打开方式,比如txt文档用什么程序打开之类。自然/etc下的是全局的文件打开方式,.local下的是个人的文件打开方式。

desktop文件是菜单项,就是出现在Application、System下的菜单项。/usr下的是全局的菜单项,.local下的是个人的菜单项。

cache文件全局的文件打开方式和个人的文件打开方式缓存

想添加一个菜单项,到/usr/share/applications/下随便打开一个desktop文件,照着改就行了。

怎样把自定义的菜单加入到自己想去的菜单项下呢?比如加到Programming下,如果想增加一个顶级目录,即Application下的第一层目录。

在Linux桌面系统,用户也可以像在Windows平台下,通过点击位于桌面或菜单上的快捷方式轻松找开目录应用程序。在Linux KDE和Linux GNOME桌面系统都使用Desktop Entry文件标准来描述程序启动配置信息。

ubuntu系统下文件关联

PS:如果你要修改文件的打开方式,请选择右键=>属性=>打开方式=>删除
和Windows一样,在Gnome的文件管理器(nautilus)里,双击一个文件的时候,
系统会自动调用相应的程序去打开这个文件。前提是能打开这个文件的软件已经安装
并且配置完毕了。

在Nautilus里通过右键菜单固然可以修改默认的打开方式,但是缺乏灵活性和可
操作性,比如,不能删除一些候选的打开方式,不能批量增加一些打开方式等等。

经过反复的摸索,终于被我发现了GNMOE的打开方式的配置方式。
这里需要涉及到以下几个目录和文件

~/.local/share/applications
/etc/gnome/defaults.list
/usr/share/applications
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
去这几个目录看一下,就会发现很多以 desktop 为后缀的文件。
这些文件是多功能的,第一,它们是组成GNMOE的“开始”菜单的一部分,即“开始”
菜单里的一些应用程序项,在这里都能找到。你可以运行 alacarte, 这里会
列出整个菜单的结构,你可以编辑它,但是很多项你没法删除,因为没有权限,
你试着用root权限去运行 alacarte ,抱歉,你还是没有权限删除,要删除它们,
只有在/usr/share/applications下面找到对应的文件,直接删除这个文件即可。

从总体上讲
/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
这两个分别是全局的和局部的打开方式缓存

先看一下/etc/gnome/defaults.list的结构

[DefaultApplications]
application/csv=gnumeric.desktop
application/excel=ooo-calc.desktop
application/msexcel=ooo-calc.desktop
application/msword=ooo-writer.desktop
application/ogg=mplayer.desktop
application/pdf=evince.desktop
application/postscript=evince.desktop
……………..
text/x-chdr=vim.desktop
text/x-csrc=vim.desktop
text/x-dtd=vim.desktop
text/x-java=vim.desktop
text/mathml=vim.desktop
text/x-python=vim.desktop
text/x-sql=vim.desktop
text/xml=firefox.desktop
video/dv=mplayer.desktop
video/mp4=mplayer.desktop
video/mpeg=mplayer.desktop
video/msvideo=mplayer.desktop
video/quicktime=mplayer.desktop
video/vnd.rn-realvideo=mplayer.desktop
video/x-anim=mplayer.desktop
video/x-avi=mplayer.desktop
video/x-flc=mplayer.desktop
………………….

不难发现
是这样的一种形式
程序的类型/文件类型=打开这个文件的项[;项2]…[;项n]
候选打开方式可以有好几种
中间用;隔开,不留其余字符

要修改一个文件的打开方式,需要先确定这个文件的类型
以纯文本文件为例类型是plain打开方式默认为vim.desktop
候选的是firefox.desktop
text/plain=vim.desktop;firefox.desktop

可以直接编辑
~/.local/share/applications/defaults.list
/etc/gnome/defaults.list
编辑完之后,手工修改
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache
这两个cache文件。
这样就立即生效了

下面看一下desktop文件的结构

[DesktopEntry]
Encoding=UTF-8//字符编码
Name=vim  //现实的名字
MimeType=text/plain;//类型
Exec=vim%f//运行的程序%f表示一个参数
Type=Application //类型
Terminal=true//是否使用终端
NoDisplay=true//是否显示在gnome菜单里

知道这些
就可以很方便的定制“开始”菜单 和 文件的打开方式了

/usr/local/share/applications