问题描述
根据我的阅读,当通过nautilus或gvfs-mount
安装网络共享时,安装点应该在~/.gvfs
中。对我来说情况似乎并非如此:我尝试在Ubuntu Maverick和Natty下同时通过nautilus和gvfs-mount
安装FTP和SMB共享,在任何情况下我都没有看到~/.gvfs
下的任何挂载点。我可以访问nautilus中找到的共享,但我想通过命令行访问,这就是我需要在文件系统中安装点的原因。
编辑:按照James Henstridge的回答进行调试,enzotib的评论显示在我的笔记本电脑上gvfs-fuse-daemon
正在运行,因此gvfs挂载显示在~/.gvfs
中,而在~/.gvfs
保持为空的2个工作站上gvfs-fuse-daemon
未运行。在所有3台机器上都运行其他gvfs进程: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
下。
最佳解决方法
~/.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上,挂载点出现在/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 mount正确显示在〜/.gvfs中。
第六种方法
我的12.04 Precise系统遇到了类似的问题。
出现在Nautilus中的驱动器不会出现在~/.gvfs
中,特别是在暂停/恢复循环之后。 gvfs-fuse-daemon
正在运行,但是杀死它并重新启动并不能解决问题。
我发现在nautilus -q
之后重新启动Nautilus会再次导致gvfs-fuse-daemon
和Nautilus再到co-operate – 重新出现挂载点。
第七种方法
我的Debian系统是asked a related question,而answer是:
apt-get install gvfs-fuse
adduser <username> fuse
然后重启。在GVFS挂载(通过Nautilus)之后,共享目录将位于两个位置之一,具体取决于您拥有的Debian或Ubuntu版本:
/run/user/<username>/gvfs
~/.gvfs