linux下如何更改文件的默认打开方式

发布时间:2020-06-25编辑:脚本学堂
在Gnome的文件管理器(nautilus)里,双击一个文件时,系统会自动调用相应的程序去打开这个文件。

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

GNMOE的打开方式的配置方式涉及到以下几个目录和文件:
/usr/share/applications
~/.local/share/applications
/usr/share/applications/mimeinfo.cache
~/.local/share/applications/mimeinfo.cache

去这几个目录看一下,就会发现很多以.desktop为后缀的文件。
你可以手动修正部分打开方式错误的。

例如:
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

修改完成后,就可以解决打开方式命令行参数错误的问题,然后右键选择默认打开方式即可

从总体上讲/usr/share/applications/defaults.list保存了全局的打开方式;
~/.local/share/applications/ 目录下保存了个人的打开方式【候选方式以及个性打开方式】;当两着不一致是,优先采用局部的个人设置。

cd ~/.local/share/applications
删除无用的打开方式,候选打开方式里面就不会再有
如rm -rf wine*    即可【此时立即生效,所有wine相关的候选菜单不会再有
vi mimeapps.list 处理当前右键菜单以及默认打开方式【立即生效】
 

复制代码 代码如下:
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里。