Por que minhas montagens gvfs não aparecem em ~ / .gvfs ou / run / user / login / gvfs?

31

Pelo que li, ao montar um compartilhamento de rede via nautilus ou gvfs-mount , o ponto de montagem deve estar em ~/.gvfs . Este parece não ser o caso para mim: Eu tentei montar um compartilhamento FTP e SMB via nautilus e gvfs-mount tanto no Ubuntu Maverick quanto no Natty e em nenhum dos casos eu vi qualquer ponto de montagem sob ~/.gvfs . Eu posso acessar os compartilhamentos apenas encontrar no nautilus, mas eu quero ter acesso através da linha de comando, é por isso que eu preciso de um ponto de montagem no sistema de arquivos.

Editar: Depuração seguindo a resposta de James Henstridge e o comentário da enzotib revelou que no meu laptop gvfs-fuse-daemon está em execução e consequentemente as montagens gvfs aparecem em ~/.gvfs , enquanto nas 2 estações de trabalho em que ~/.gvfs permaneceu vazio gvfs-fuse-daemon não estava em execução. Em todas as 3 máquinas existem outros processos gvfs em execução: gvfsd , gvfs-afc-volume-monitor , ...

No laptop, mount | fgrep gvfs produz

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

Isso levanta as questões:

  • Como os compartilhamentos são montados sem gvfs-fuse-daemon em execução? Não há ponto de montagem criado nesse caso e cada acesso ao compartilhamento é uma chamada de biblioteca gvfs? Qual daemon é responsável? gvfsd ?
  • Qual é o papel de gvfs-fuse-daemon ? Só cria um ponto de montagem de fusível em ~/.gvfs ?

Atualização: No dia 12.10 e posterior, as montagens estão abaixo de /run/user/<login>/gvfs .

    
por kynan 13.09.2011 / 13:28

9 respostas

11

O diretório ~/.gvfs deve ser uma montagem FUSE tratada pelo processo gvfs-fuse-daemon . Se o diretório parecer estar vazio, isso indicaria que gvfs-fuse-daemon não foi iniciado corretamente.

Você pode tentar iniciá-lo manualmente com o seguinte comando:

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

Se isso falhar, você pode tentar verificar se alguma coisa está montada, ou até mesmo apagar e recriar o diretório ~ / .gvfs primeiro. Se as coisas ainda falharem, você poderia atualizar sua pergunta e fornecer mensagens de erro impressas por gvfs-fuse-daemon ?

** No dia 14.04, o daemon é chamado gvfsd-fuse e pode ser encontrado em /usr/lib/gvfs/gvfsd-fuse .

    
por James Henstridge 14.09.2011 / 02:48
18

Resolvido o problema (tipo de).

No Ubuntu 12.10, o ponto de montagem aparece em /run/user/(your username)/gvfs/sftp\:host\=2.168.xxx.xxx .

Espero que ajude

    
por Ivan Maglica 30.11.2012 / 12:06
3

No Ubuntu 12.10 os caminhos foram alterados:

$ mount |grep gvfs
gvfsd-fuse on /run/user/pcm/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=pcm)
    
por cmcginty 10.12.2012 / 21:12
3

No Debian 6.0 wheezy, com lxde e nautilus. Eu encontrei o diretório ~ / .gvfs vazio também. Eu tentei correr

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

Mas ele me disse: / dev / fuse: Permissão negada.

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

Eu pensei que talvez seja porque eu não estou no grupo de fusíveis, então eu adicionei minha conta de usuário a esse grupo. Após a reinicialização, a montagem gvfs é mostrada em ~ / .gvfs corretamente.

    
por z7z8th 21.12.2012 / 07:49
3

Eu tenho um problema parecido com o meu sistema Preciso 12.04.

As unidades que aparecem montadas no Nautilus não aparecem em ~/.gvfs , especialmente após um ciclo de suspensão / retomada. gvfs-fuse-daemon está em execução, mas a sua eliminação e reinicialização não corrigem o problema.

Descobri que reiniciar o Nautilus após nautilus -q faz com que gvfs-fuse-daemon e Nautilus cooperem novamente - os pontos de montagem reaparecem.

    
por Chris 17.09.2012 / 11:34
3

Nas versões mais recentes do Ubuntu, o gvfs é padronizado para montagem em /run/user/$USER/gvfs/ .

Você pode verificar onde está o ponto de montagem padrão procurando a linha gvfsd-fuse do usuário em /etc/mtab .

    
por David L 21.06.2013 / 20:05
2

Eu fiz uma pergunta relacionada para o meu sistema Debian, e o resposta era para:

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

Em seguida, reinicie. Após uma montagem do GVFS (via Nautilus), o diretório de compartilhamento estará em um dos dois lugares, dependendo de qual versão do Debian ou do Ubuntu você possui:

/run/user/<username>/gvfs
~/.gvfs
    
por Mike T 24.02.2014 / 10:39
0

Quando quero acessar arquivos compartilhados diretamente de uma máquina Windows (não navegando pelo Nautilus), monto o compartilhamento em uma pasta no meu diretório pessoal.

Por exemplo. Se houver uma máquina Windows com o endereço IP 192.168.16.2 no domínio mydomain que tem uma pasta compartilhada como shared e eu tenho um diretório no meu diretório pessoal chamado mnt , eu posso montar o compartilhamento em mnt e acessá-lo como se estivesse dentro do meu diretório home com:

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

onde as credenciais contêm:

username=stacey
password=mypassword
domain=mydomain

Agora posso usar ls /home/stacey/mnt para listar os arquivos e diretórios no diretório compartilhado shared on 192.168.16.2 e acessar qualquer arquivo dentro desse ponto de montagem como faria com um arquivo no meu disco rígido local.

Você pode obter mais informações sobre como montar compartilhamentos SMB com:

man mount.cifs
    
por Stacey Richards 13.09.2011 / 14:23
0

Por enquanto ...

#!/bin/bash
# Add to Cron
# */1 * * * * /root/fixGvfs
w | grep -v root | tail -n +3 | awk '{print }' > /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
    
por Daniel Del Pino 28.09.2016 / 04:03