linux gnome虚拟文件系统 gvfs和gnome-vfs 简介

gvfs是gnome从2.22版本开始引入的高级特性,用于将各种存档文件(tar、gz、zip、iso等)和各种本地及网络协议(burn、cdda、ftp、http、webdav等)挂载为虚拟文件系统。

存档文件挂载之后会出现在系统的“位置”菜单和nautilus资源管理器的位置栏里,但还不是文件系统的一部分,因此只有支持gio的应用程序才能访问(类似于kde下的kio)。要让挂载的存档文件真正成为文件系统的一部分,以至于任何应用程序都能像访问普通文件一样访问存档里的文件,你需要确保你的系统中已经安装了gvfs-fuse这个软件包(ubuntu 8.04和8.10是默认安装的)。如果是这样,那么恭喜你,看一看你的家目录下的.gvfs隐藏目录,挂载的存档文件已经作为一个目录放在里面了,任何应用程序都可以在这里访问存档里的文件了,唯一的缺憾是不可写。
对本地及网络协议的处理方法是类似的。以ftp访问为例,只要你是在nautilus资源管理器的地址栏输入

ftp://ftp站点域名

或者用系统主菜单中的“连接到服务器”功能来访问的,那么该ftp连接已经自动被挂载到系统的“位置”菜单和nautilus资源管理器的位置栏里了,支持gio的应用程序可以访问。如果你的系统中有gvfs-fuse的话,那么~/.gvfs下面也会出现对应于该ftp连接的一个目录,任何应用程序都能像访问本地文件一样在这里访问ftp站点上的文件。

gnome-vfs和gio/gfvs是两个不同的概念,也许在不久的将来gnome-vfs应该会被gvfs所取代

gfvs是gnome新一种虚拟文件系统。gfvs是用来代替过时的gnome-vfs虚拟文件系统。gvfs算是gnome 2.22中一个比较大的改动,也gnome 2.22中一个主要的新特性。

gvfs是一个带有诸如 sftp, ftp, dav, smb, obexftp 等协议后台的用户空间虚拟文件系统。gvfs是 gnome-vfs 的替代品。gnome-vfs 将不再被赞成使用,开发者也不应在新的应用程序中继续使用。

gvfs 包含两个部分:

* gio,作为 gLib的一部分的新共享库,提供了 针对 gvfs的 api;同时
* gvfs本身,是一个包含多种文件系统和协议(如sftp, ftp, dav, smb 和 obexftp)支持的后台软件包。

gvfs/gio致力于提供一个现代的,易用的 vfs系统。它的目标是提供一些列 api给开发者,以是他们不再使用原始的 posix io访问。它提供了一个更高级的以文件为中心的接口,而不仅仅是 posix io 的复制品。除了文件的读写支持外,gio还提供了文件监视工具,异步 io,和文件名完成功能。

gvfs通过运行一个单独的主守护进程 (gvfsd) 来工作,它保证了对当前的 gvfs挂载的跟踪。每一个挂在都有独立的守护进程。(一些挂载也会同时共享一个进程,但多数情况下不会这样。) 客户端通过一个联合 D-Bus 会话来与这些挂载通信(在会话总线上,但是使用点对点 D-Bus),同时用一个用户协议来进操作文件内容。通过进程进行后台传递大大简化了程序的依赖关系,使整个系统更加健壮。

gvfs也提供了在 ~/.gvfs/ 提供了一个 fuse挂在点,这样可以使得 gvfs 挂载可以被传统的使用标准 posix io 的应用程序使用。

不同于gnome-vfs,gvfs中的连接是有状态的。这意味着用户仅仅需要输入一次密码,而不是每次成功的连接都需要一次次地重复输入。

因为转为使用 gvfs,自动挂载和自动运行现在已经直接由 nautilus 完成而不再使用 gnome-volume-manager。

为什么现在的发行版中同时包括 gnome-vfs和gvfs?

因为,目前很多程序使用的仍然是 gnome-vfs。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值