为什么我的gvfs挂载不会显示在〜/ .gvfs或/ run / user / / gvfs下?

根据我的阅读,当通过nautilus或gvfs-mount网络共享时,挂载点应该在~/.gvfs 。 对我来说情况似乎并非如此:我尝试在Ubuntu Maverick和Natty下同时通过nautilus和gvfs-mount FTP和SMB共享,​​并且在所有情况下我都没有看到~/.gvfs下的任何挂载点。 我可以访问nautilus中找到的共享,但我想通过命令行访问,这就是我需要在文件系统中安装点的原因。

编辑:按照James Henstridge的回答进行调试,enzotib的评论显示,在我的笔记本电脑上gvfs-fuse-daemon正在运行,因此gvfs挂载显示在~/.gvfs ,而在2个工作站上~/.gvfs仍为空gvfs-fuse-daemon ~/.gvfs gvfs-fuse-daemon没有运行。 在所有3台机器上都运行其他gvfs进程: gvfsdgvfs-afc-volume-monitor ,…

在笔记本电脑上, mount | fgrep gvfs 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//gvfs

~/.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

解决了问题(种类)。

在Ubuntu 12.10上,mountpoint出现在/run/user/(your username)/gvfs/sftp\:host\=\192.168.xxx.xxx

希望有所帮助

在较新版本的Ubuntu中,gvfs默认安装在/run/user/$USER/gvfs/

您可以通过在/etc/mtab查找用户的gvfsd-fuse行来检查自己的默认挂载点。

在Ubuntu 12.10中,路径发生了变化:

 $ mount |grep gvfs gvfsd-fuse on /run/user/pcm/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=pcm) 

在Debian 6.0喘息,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 

我想也许是因为我不在保险丝组中,然后我将我的用户帐户添加到该组。 重启后,gvfs挂载正确显示在〜/ .gvfs中。

我的12.04精确系统有类似的问题。

出现在Nautilus中的驱动器不会出现在~/.gvfs ,特别是在挂起/恢复周期之后。 gvfs-fuse-daemon正在运行,但是杀死它并重新启动并不能解决问题。

我发现在nautilus -q之后重启Nautilus导致gvfs-fuse-daemon和Nautilus再次合作 – 挂载点重新出现。

我为我的Debian系统问了一个相关的问题 , 答案是:

 apt-get install gvfs-fuse adduser  fuse 

然后重启。 在GVFS挂载(通过Nautilus)之后,共享目录将位于两个位置之一,具体取决于您拥有的Debian或Ubuntu版本:

 /run/user//gvfs ~/.gvfs 

当我想直接访问从Windows机器共享的文件(而不是浏览Nautilus)时,我将共享安装在我的主目录中的文件夹上。

例如。 如果在域mydomain上有一个IP地址为192.168.16.2的Windows机器,该文件夹共享为shared并且我的主目录中有一个名为mnt目录,我可以在mnt上挂载该共享并像访问它一样访问它在我的主目录中:

 sudo mount -t cifs "//192.168.16.2/shared" /home/stacey/mnt -o credentials=credentials,uid=stacey,gid=stacey 

凭证包含的位置:

 username=stacey password=mypassword domain=mydomain 

现在我可以使用ls /home/stacey/mnt列出192.168.16.2上共享的共享目录中的文件和目录,并访问此挂载点中的任何文件,就像我本地硬盘上的文件一样。

您可以通过以下方式获得有关安装SMB共享的更多信

 man mount.cifs 

目前…

 #!/bin/bash # Add to Cron # */1 * * * * /root/fixGvfs w | grep -v root | tail -n +3 | awk '{print $1}' > /tmp/fixGvfsUsers while read usuario do id=$(id -u $usuario) if [ ! -f "/tmp/fixGvfs${id}" ]; then umount /run/user/${id}/gvfs if [ $? -eq 0 ]; then su - $usuario -c "/usr/bin/pkill gvfs*" touch "/tmp/fixGvfs${id}" fi fi done < /tmp/fixGvfsUsers