GVFS和Gnome VFS模块相关资料

2019-07-14 02:14发布

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

GVFS是GNOME新一种虚拟文件系统。GVFS是用来代替过时的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。   网络访问方面,gvfs通过gvfs-fuse-daemon 把 gvfs 上的文件挂载到 ~/.gvfs目录下。 ls 了一下gvfs的相关包,可以看出gvfs支持的各种vfs模块。有回收站的,FTP,SFTP,SMB等等。 还有硬件监视的gvfs-hal-volume-monitor等。 rpm -qlv gvfs /usr/libexec/gvfs-gdu-volume-monitor /usr/libexec/gvfs-hal-volume-monitor /usr/libexec/gvfsd /usr/libexec/gvfsd-burn /usr/libexec/gvfsd-cdda /usr/libexec/gvfsd-computer /usr/libexec/gvfsd-dav /usr/libexec/gvfsd-dnssd /usr/libexec/gvfsd-ftp /usr/libexec/gvfsd-http /usr/libexec/gvfsd-localtest /usr/libexec/gvfsd-network /usr/libexec/gvfsd-sftp /usr/libexec/gvfsd-trash /usr/share/dbus-1/services/gvfs-daemon.service /usr/share/dbus-1/services/org.gtk.Private.GduVolumeMonitor.service /usr/share/dbus-1/services/org.gtk.Private.HalVolumeMonitor.service  rpm -qlv gvfs-smb   /usr/libexec/gvfsd-smb /usr/libexec/gvfsd-smb-browse /usr/share/gvfs/mounts/smb-browse.mount /usr/share/gvfs/mounts/smb.mount  

GNOME 2.22 发行注记

http://library.gnome.org/misc/release-notes/2.22/index.html.zh_CN

解答Ubuntu 8.04 中gvfs-fuse-daemon的疑惑

http://www.lupaworld.com/22802/viewspace-53130.html

为 GNOME 2 作好准备,第 1 部分

在最初的几篇文章中,我们将讨论 GNOME 2 和 GNOME 1 之间的差异, 以使您掌握最新的 GNOME 知识。这些文章对于想要开始创建 GNOME 应用程序的那些开发人员来说将是一个理想的介绍, 而且对于需要将现有应用程序从 GNOME 1 移植到 GNOME 2 的那些开发人员也有很大帮助。 首先,我们将讨论基础知识。然后,当每个人都充分了解 GNOME 2 的基本原理之后, 我们将提供更深入的知识,向您演示如何充分利用 GNOME 2 平台中的很酷的新库。到本系列的末尾, 您将编写了您自己的 Nautilus 视图、创建了面板 applet 和其它更多东西。 http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome2/part1/index.html http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome2/part2/

编写 GnomeVFS 模块

GnomeVFS 包括若干个模块,如smb 、http、ftp和tar。本文介绍如何生成一个简单的“tutorial:///”模块。 http://www.ibm.com/developerworks/cn/linux/l-gnvfs/index.html  

GNOME VFS中smb模块编码转换分析

介绍增加smb模块的编码转换 http://blog.openrays.org/blog-htm-do-showone-tid-479.html  

利用 GNOME 库来简化应用编程

gnome库将glib和gtk库封装了一下,老实说,也许不那么好用,也许没glib的好用? http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome-programming/index.html http://www.ibm.com/developerworks/cn/linux/guitoolkit/gnome/gnome-2/index.html