当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 请问nautilus的网上邻居功能如何实现的?是使用FUSE么?
帖子发表于 : 2009-09-12 21:41 

注册: 2009-08-31 14:26
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
nautilus网上邻居是如何获取整个网络信息的呢,是使用fusesmb之类,还是用别的来实现呢?
看了下nautilus的代码,感觉没有头绪,象获取整个网络信息和使用SMB命令链接共享机等等这些命令都没找到阿。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 请问nautilus的网上邻居功能如何实现的?是使用FUSE么?
帖子发表于 : 2009-09-14 22:04 

注册: 2009-08-31 14:26
帖子: 21
送出感谢: 0 次
接收感谢: 0 次
解决了,是使用gvfs作后端。
gvfs(gnome-vfs的升级版)包括gio和gvfs本身。

以下引用自GNOME :
http://library.gnome.org/misc/release-n ... developers

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。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 请问nautilus的网上邻居功能如何实现的?是使用FUSE么?
帖子发表于 : 2009-10-06 13:57 

注册: 2006-02-18 16:09
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
晕,又冒了个GVFS出来,看来要学的东西还很多啊...

如何为nautilius添加支持新的协议呢...


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:Google Feedfetcher 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译