为什么我的 gvfs 挂载没有显示在 ~/.gvfs 或 /run/user/ 下/gvfs?

为什么我的 gvfs 挂载没有显示在 ~/.gvfs 或 /run/user/ 下/gvfs?

据我所知,通过 nautilus 或 挂载网络共享时,gvfs-mount挂载点应位于 中~/.gvfs。但对我来说似乎并非如此:我尝试通过 nautilus 和gvfs-mountUbuntu Maverick 和 Natty 挂载 FTP 和 SMB 共享,但在任何情况下,我都没有看到 下的任何挂载点~/.gvfs。我可以访问在 nautilus 中找到的共享,但我想通过命令行进行访问,这就是为什么我需要文件系统中的挂载点。

编辑:根据 James Henstridge 的回答和 enzotib 的评论进行调试后发现,我的笔记本电脑gvfs-fuse-daemon正在运行,因此 gvfs 挂载出现在 中,而在 2 个空的~/.gvfs工作站上没有运行。 在所有 3 台机器上都有其他 gvfs 进程正在运行:,,...~/.gvfsgvfs-fuse-daemongvfsdgvfs-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 中。

相关内容