From what I read, when mounting a network share via nautilus or gvfs-mount the mount point should be in ~/.gvfs. This seems not to be the case for me: I tried mounting both an FTP and SMB share via both nautilus and gvfs-mount under both Ubuntu Maverick and Natty and in none of the cases did I see any mount point under ~/.gvfs. I can access the shares just find in nautilus, but I want to have access via the command line, which is why I need a mount point in the file system.

Edit: Debugging following James Henstridge's answer and enzotib's comment revealed that on my laptop gvfs-fuse-daemon is running and consequently gvfs mounts show up in ~/.gvfs, whereas on the 2 workstations where ~/.gvfs remained empty gvfs-fuse-daemon was not running. On all 3 machines there are other gvfs processes running: gvfsd, gvfs-afc-volume-monitor, ...

On the laptop, mount | fgrep gvfs yields

gvfs-fuse-daemon on /home/xxx/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=xxx)

That raises the questions:

  • How are shares mounted without gvfs-fuse-daemon running? Is there no mount point created in that case and is every access to the share a gvfs library call? Which daemon is responsible? gvfsd?
  • What's the role of gvfs-fuse-daemon? Does it only create a fuse mount point in ~/.gvfs?

Update: On 12.10 and later, mounts are under /run/user/<login>/gvfs.

  • 2
    Can you show the output of mount | grep gvfs?
    – enzotib
    Sep 13, 2011 at 13:51

9 Answers 9


Solved the problem (kind of).

On Ubuntu 12.10 the mountpoint appears in /run/user/(your username)/gvfs/sftp\:host\=\192.168.xxx.xxx.

Hope that helps


The ~/.gvfs directory should be a FUSE mount handled by the gvfs-fuse-daemon process. If the directory appears to be empty, it would indicate that gvfs-fuse-daemon did not start correctly.

You could try starting it manually with the following command:

/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs

If that fails, you could try checking whether anything else is mounted there, or even delete and recreate the ~/.gvfs directory first. If things still fail, could you update your question and provide any error messages printed by gvfs-fuse-daemon?

** On 14.04 the daemon is called gvfsd-fuse and can be found in /usr/lib/gvfs/gvfsd-fuse.

  • 1
    Some more research revealed that gvfsd is supposed to start gvfs-fuse-daemon automatically when gvfsd gets the first request to access a remote file system. There's also a bug in ubuntu/debian that makes the ~/.gvfs directory unreadable when gvfs-fuse-daemon crashes and produces the error message Transport endpoint is not connected.
    – kynan
    Sep 15, 2011 at 0:10
  • Was it ever resolved why gvfsd does not start gvfs-fuse-daemon automatically? Under RHEL it seems to work as expected for root but not unprivileged users. Jun 18, 2012 at 22:21
  • Doesn't really answer the question of "What's the role of gvfs-fuse-daemon", and "How are shares mounted without gvfs-fuse-daemon running?". gvfs-fuse-daemon allows options like allow_root which are ignored by default when using gvfs-mount. So answering those questions would kinda help solve this eternal mystery here.
    – Nuzzolilo
    Jan 1, 2016 at 9:44
  • There is another caveat! gvfs-mount requires DBUS and you will only get a mountpoint when gvfs-mount uses THE SAME DBUS SESSION as gvfs-fuse-daemon. Therefore, if you are SSHing into a machine and firing up a dbus-daemon for your session you also have to spawn an individual gvfs-fuse-daemon for your session. Jul 29, 2016 at 18:41
  • Well, it's 5 years later and this still seems to be an issuel Oct 28, 2016 at 9:46

In Ubuntu 12.10 the paths were changed:

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

On Debian 6.0 wheezy, with lxde and nautilus. I found the ~/.gvfs directory empty too. I tried to run

/usr/lib/gvfs/gvfs-fuse-daemon ~/.gvfs

But it told me: /dev/fuse: Permission Denied.

$ ll /dev/fuse
crw-rw---T 1 root fuse 10, 229 Dec 21 11:59 /dev/fuse

I thought that maybe it's because I'm not in the fuse group, then I added my user account to that group. After a reboot, the gvfs mount shows in ~/.gvfs correctly.


I have a similar problem with my 12.04 Precise system.

Drives that appear mounted in Nautilus do not appear in ~/.gvfs, particularly after a suspend/resume cycle. gvfs-fuse-daemon is running, but killing it and restarting does not fix the problem.

I found that restarting Nautilus after nautilus -q causes gvfs-fuse-daemon and Nautilus to co-operate again - the mount points reappear.


In newer versions of Ubuntu, gvfs defaults to mounting in /run/user/$USER/gvfs/.

You can check yourself where it's default mount point is by looking for your user's gvfsd-fuse line in /etc/mtab.


I asked a related question for my Debian system, and the answer was to:

apt-get install gvfs-fuse
adduser <username> fuse

Then reboot. After a GVFS mount (via Nautilus), the share directory will be in one of two places, depending on which version of Debian or Ubuntu you have:

  • I'm pretty sure you don't have to reboot. A systemctl --user restart gvfs-daemon did the trick for me. Jul 5, 2018 at 8:49

When I want to access files shared from a Windows machine directly (not browsing through Nautilus) I mount the share on a folder in my home directory.

For example. There if there is a Windows machine with the IP address on the domain mydomain that has a folder shared as shared and I have a directory in my home directory called mnt, I can mount the share onmnt and access it as if it was within my home directory with:

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

where credentials contains:


Now I can use ls /home/stacey/mnt to list the files and directories in shared directory shared on and access any file within this mount point as I would a file on my local hard drive.

You can get more information on mounting SMB shares with:

man mount.cifs
  • Not what the OP asked.
    – enzotib
    Sep 13, 2011 at 12:24
  • 2
    No, but kynan said "but I want to have access via the command line, which is why I need a mount point in the file system", so I'm just trying to help. Sep 13, 2011 at 12:31
  • Thanks. I should have mentioned that I have considered this solution, but it imho has 2 major downsides that make it infeasible: 1) the credentials file must contain the password in plain text, which is unacceptable on a shared machine, 2) it requires root privileges and I need a solution that also works on machines where I don't have sudo
    – kynan
    Sep 14, 2011 at 22:20

For now...

# Add to Cron
# */1 * * * * /root/fixGvfs
w | grep -v root | tail -n +3 | awk '{print $1}' > /tmp/fixGvfsUsers
while read usuario
  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}"
done < /tmp/fixGvfsUsers
  • 3
    A short explanation what this script is going to do would be nice. When the cron-job should run?
    – mook765
    Sep 28, 2016 at 2:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.