由于linux下对chm支持常常出现乱码,因此干脆用firefox的chm插件打开chm文件就ok了 /usr/share/applications/defaults.list 由于我是要打开chm,主要是复制一段text/chm firefox.Desktop 就能够了不过,这个类型不肯定是否是file/chmlinux
在Gnome的文件管理器(nautilus)里,双击一个文件的时候,系统会自动调用相应 的程序去打开这个文件。在Nautilus里经过右键菜单当然能够修改默认的打开方式,可是缺少灵活性和可操做性,好比,不能删除一些候选的打开方式,不 能批量增长一些打开方式等等。web
GNMOE的打开方式的配置方式涉及到如下几个目录和文件: /usr/share/applications ~/.local/share/applications /usr/share/applications/mimeinfo.cache ~/.local/share/applications/mimeinfo.cachevim
去这几个目录看一下,就会发现不少以.desktop为后缀的文件。 你能够手动修正部分打开方式错误的缓存
如app
vi preferred-web-browser.desktop [Desktop Entry] Version=1.0 Encoding=UTF-8 Type=ApplicationExec=/usr/local/softbase/firefox/firefox TryExec=/usr/local/softbase/firefox/firefox Name=Preferred Web Browser GenericName=Web Browser Comment=Browse the Web Icon=redhat-web-browser.png Terminal=false X-Panel-Monitor=true NoDisplay=true编码
修改完成后,就能够解决打开方式命令行参数错误的问题,而后右键选择默认打开方式便可firefox
从整体上讲/usr/share/applications/defaults.list保存了全局的打开方式; ~/.local/share/applications/ 目录下保存了我的的打开方式【候选方式以及个性打开方式】;当两着不一致是,优先采用局部的我的设置。插件
cd ~/.local/share/applications 删除无用的打开方式,候选打开方式里面就不会再有 如rm -rf wine* 便可【此时当即生效,全部wine相关的候选菜单不会再有命令行
vi mimeapps.list 处理当前右键菜单以及默认打开方式【当即生效】it
rm -rf ~/.local/share/applications/mimeinfo.cache 【或者先察看下】
/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菜单里[指panel菜单】,固然desktop删除,也不会显示在pannel里。