linux 文件关联

和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的结构

[Default Applications]
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文件的结构

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

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

(0)

相关推荐

  • linux路径问题

    在 Linux 中,简单的理解一个文件的路径,指的就是该文件存放的位置,例如,在<Linux文件系统的层次结构>中提到的 /home/cat 就表示的是 cat 文件所存放的位置.只要我们 ...

  • Linux on Windows: This new upgrade allows you to run graphical apps simply and effectively

    由Simon Bisson在软件中2021年4月23日,太平洋标准时间上午4:20 微软已经发布了其用于WSL 2的图形工具的预览版,它出奇的好. 首次发布将近一年后,微软终于在Windows子系统L ...

  • Linux文件命令

    linux中tar命令用法 把常用的tar解压命令总结下,当作备忘: tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独 ...

  • Excel应用大全 | 数据跨文件关联匹配该如何实现

    一本书教会你分分钟搞定数据分析! 在使用Excel进行数据整理的过程中,一种常见的情况是,需要整合的信息分别处于不同的工作表甚至工作簿中.例如,销售表和价格表.工资表和员工信息表等.处理这类问题常用的 ...

  • Linux文件权限,数字代码的由来

    Linux文件权限,数字代码的由来

  • Linux文件内容如何查看?常用命令

    Linux在学习的过程当中涉及到很多命令,而且做运维掌握各种各样的命令是非常重要的,那么你知道Linux文件内容如何查看吗?常用命令有哪些? 1. cat 由第一行开始显示文件内容 用法: cat - ...

  • Linux文件类型有哪些?六大类!

    在学习Linux的过程中,大家会遇到各种各样的问题,比如说:Linux常用文件类型有哪些?我想很多人都不是很了解吧,接下来我们一起来看看吧. Linux的文件没有扩展名,所以Linux下的文件名称和它 ...

  • Linux文件存储结构,包括目录项、inode、数据块

    大部分的Linux文件系统(如ext2.ext3)规定,一个文件由目录项.inode和数据块组成: 目录项:包括文件名和inode节点号. Inode:又称文件索引节点,包含文件的基础信息以及数据块的 ...

  • Linux文件类型有几种?常见类型!

    在Linux系统中,一切皆为文件,所以文件类型也有很多种,那么Linux操作系统有什么文件类型?以下是详细的内容介绍. 第一种:普通文件.就是一般存取的文件,由ls-al显示出来的属性中,第一个属性为 ...

  • 关于 Linux 文件权限中的 所有者、与所有者同一组、其他用户的理解

    文件的所有者就是这个文件的建立者,而系统中绝大多数系统文件都是由 root 建立的,所以大多数系统文件的所有者都是 root. 比如笔者买了一台电脑,那我当然是这台电脑的所有者,可以把我的读者加入一个 ...

  • 【Linux笔记】Windows与Linux文件互传

    WinSCP工具 WinSCP是是一款开源的SFTP客户端,运行于系统下,遵照GPL发布.WinSCP除了SFTP,还支持SSH.SCP.WinSCP具有FTP的文件传输功能,又比FTP更加具有安全性 ...