据我所知,通过 nautilus 或 挂载网络共享时,gvfs-mount
挂载点应位于 中~/.gvfs
。但对我来说似乎并非如此:我尝试通过 nautilus 和gvfs-mount
Ubuntu Maverick 和 Natty 挂载 FTP 和 SMB 共享,但在任何情况下,我都没有看到 下的任何挂载点~/.gvfs
。我可以访问在 nautilus 中找到的共享,但我想通过命令行进行访问,这就是为什么我需要文件系统中的挂载点。
编辑:根据 James Henstridge 的回答和 enzotib 的评论进行调试后发现,我的笔记本电脑gvfs-fuse-daemon
正在运行,因此 gvfs 挂载出现在 中,而在 2 个空的~/.gvfs
工作站上没有运行。 在所有 3 台机器上都有其他 gvfs 进程正在运行:,,...~/.gvfs
gvfs-fuse-daemon
gvfsd
gvfs-afc-volume-monitor
在笔记本电脑上mount | fgrep gvfs
,
gvfs-fuse-daemon on /home/xxx/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=xxx)
这就引发了以下问题:
- 如何在不
gvfs-fuse-daemon
运行的情况下挂载共享?在这种情况下是否没有创建挂载点,并且每次访问共享都会调用 gvfs 库?哪个守护进程负责gvfsd
?? - 有什么作用
gvfs-fuse-daemon
?它只是在中创建一个保险丝安装点吗~/.gvfs
?
更新:在 12.10 及更高版本中,安装位于 下/run/user/<login>/gvfs
。
答案1
解决了问题(有点)。
在 Ubuntu 12.10 上,挂载点出现在/run/user/(your username)/gvfs/sftp\:host\=\192.168.xxx.xxx
。
希望有帮助
答案2
该~/.gvfs
目录应为gvfs-fuse-daemon
进程处理的 FUSE 挂载。如果目录显示为空,则表明gvfs-fuse-daemon
未正确启动。
您可以尝试使用以下命令手动启动它:
/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs
如果失败,您可以尝试检查那里是否安装了其他东西,或者先删除并重新创建 ~/.gvfs 目录。如果仍然失败,您可以更新您的问题并提供打印的任何错误消息gvfs-fuse-daemon
吗?
** 在 14.04 上,守护进程被调用gvfsd-fuse
并且可以在 中找到/usr/lib/gvfs/gvfsd-fuse
。
答案3
在 Ubuntu 12.10 中,路径发生了改变:
$ mount |grep gvfs
gvfsd-fuse on /run/user/pcm/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=pcm)
答案4
在 Debian 6.0 wheezy 上,使用 lxde 和 nautilus。我发现 ~/.gvfs 目录也是空的。我尝试运行
/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs
但它告诉我:/dev/fuse:权限被拒绝。
$ ll /dev/fuse
crw-rw---T 1 root fuse 10, 229 Dec 21 11:59 /dev/fuse
我想可能是因为我不在 fuse 组中,所以我将我的用户帐户添加到该组中。重新启动后,gvfs 挂载正确显示在 ~/.gvfs 中。