Neden benim gvfs bağlantıları ~ / .gvfs veya / run / user / <login> / gvfs altında görünmüyor?


35

Okuduklarımdan gvfs-mountsonra, bir ağ paylaşımını nautilus veya montaj noktası aracılığıyla monte ederken bulunmalıdır ~/.gvfs. Bu benim için durum gibi görünmüyor: Hem Nautilus gvfs-mounthem de Ubuntu Maverick ve Natty'nin altına hem FTP hem de SMB payını yüklemeyi denedim ve hiçbir durumda altında herhangi bir bağlama noktası görmedim ~/.gvfs. Nautilus'ta bulunan paylaşımlara erişebiliyorum, ancak komut satırından erişmek istiyorum, bu yüzden dosya sisteminde bir bağlama noktasına ihtiyacım var.

Düzenleme: James Henstridge'in cevabını ve enzotib'in yorumunu izleyen hata ayıklama, dizüstü bilgisayarımda gvfs-fuse-daemonçalıştığını ve sonuçta gvfs mount'ların ortaya çıktığını ~/.gvfs, oysa ~/.gvfsboş kalan 2 iş istasyonunda gvfs-fuse-daemonçalışmadığını gösterdi. 3 makinelerde diğer gvfs süreçleri çalıştıran vardır: gvfsd, gvfs-afc-volume-monitor, ...

Dizüstü bilgisayarda mount | fgrep gvfsverim

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

Bu soruları yükseltir:

  • Hisse senetleri işlem görmeden nasıl gvfs-fuse-daemonkurulur? Bu durumda oluşturulan bir bağlantı noktası yok mu ve gvfs kütüphane çağrısına her erişim paylaşılıyor mu? Hangi arka plan sorumlusu? gvfsd?
  • Rolü nedir gvfs-fuse-daemon? Sadece bir sigorta bağlama noktası oluşturur ~/.gvfsmu?

Güncelleme: 12.10 ve sonrasında, bağlar altında /run/user/<login>/gvfs.


2
Çıktısını gösterebilir misiniz mount | grep gvfs?
enzotib

Yanıtlar:


12

~/.gvfsDizin FUSE tarafından ele montaj olmalıdır gvfs-fuse-daemonsüreç. Dizin boş görünüyorsa, gvfs-fuse-daemondoğru şekilde başlamadığını belirtir .

Aşağıdaki komutla manuel olarak başlatmayı deneyebilirsiniz:

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

Bu başarısız olursa, başka bir şeyin monte edilip edilmediğini kontrol etmeyi deneyebilir, hatta ~ / .gvfs dizinini silip yeniden oluşturabilirsiniz. Hala bir şeyler başarısız olursa, sorunuzu güncelleyebilir ve yazdırdığınız hata mesajlarını verebilir misiniz gvfs-fuse-daemon?

** 14.04'te daemon çağrılır gvfsd-fuseve bulunabilir /usr/lib/gvfs/gvfsd-fuse.


1
Bazı araştırmalargvfsd , uzak bir dosya sistemine ilk kez erişme isteğinde bulunduğunda gvfs-fuse-daemonotomatik olarak başlaması gerektiğini ortaya çıkardı gvfsd. Bir de var hata yapar ubuntu / debian içinde ~/.gvfsdizin okunamaz gvfs-fuse-daemonçöküyor ve hata mesajı üretir Taşıma uç nokta bağlı değildir .
kynan

Neden otomatik olarak gvfsdbaşlamamasına karar verildi gvfs-fuse-daemonmi? RHEL altında, kök için beklendiği gibi çalışıyor, ancak imtiyazsız kullanıcılar gibi görünüyor.
Aaron Copley,

Gerçekten "gvfs-fuse-daemon'un rolü nedir" ve "gvfs-fuse-daemon olmadan nasıl paylaşımlar kurulur?" Sorusuna cevap vermez. gvfs-fuse-daemon, gvfs-mount kullanılırken varsayılan olarak yok sayılan allow_root gibi seçeneklere izin verir. Bu soruları cevaplamak, bu sonsuz gizemi burada çözmemize yardımcı olur.
Nuzzolilo

Başka bir uyarı var! gvfs-mountDBus gerektirir ve ne zaman yalnızca mountpoint alacak gvfs-mountkullanan AYNI DBUS OTURUM olarak gvfs-fuse-daemon. Bu nedenle, eğer bir makineye SSHing yapıyorsanız ve bir seans için ateşe veriyorsanız, seansınız için de bir kişiyi doğurmanız dbus-daemongerekir gvfs-fuse-daemon.
user1129682

Eh, 5 yıl sonra ve bu hala bir kötülük gibi görünüyor
Stuart Axon

20

Sorunu çözdüm (bir nevi).

Ubuntu 12.10'da mountpoint görünür /run/user/(your username)/gvfs/sftp\:host\=\192.168.xxx.xxx.

umarım yardımcı olur


4

Ubuntu 12.10'da yollar değiştirildi:

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

3

Debian 6.0'da, lxde ve nautilus ile hırıltılı. ~ / .Gvfs dizinini de boş buldum. Koşmaya çalıştım

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

Ama bana söyledi: / dev / fuse: İzin Verilmedi.

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

Belki de sigorta grubunda olmadığım için kullanıcı hesabımı bu gruba ekledim diye düşündüm. Yeniden başlatmanın ardından, gvfs bağlantısı ~ / .gvfs dosyasında doğru bir şekilde gösterilir.


3

12.04 Precision sistemimle de benzer bir problemim var.

Nautilus'a monte edilmiş gibi görünen sürücüler ~/.gvfs, özellikle askıya alma / devam etme döngüsünden sonra görünmüyor . gvfs-fuse-daemonçalışıyor, ancak onu öldürmek ve yeniden başlatmak sorunu çözmüyor.

nautilus -qNedenlerden sonra Nautilus'un yeniden başlatılmasının gvfs-fuse-daemonve Nautilus'un tekrar işbirliği yapmasını buldum - montaj noktaları yeniden beliriyor.


3

Ubuntu'nun daha yeni sürümlerinde, gvfs varsayılan olarak bağlanır /run/user/$USER/gvfs/.

Kullanıcının gvfsd-sigorta hattını arayarak, varsayılan bağlama noktasının nerede olduğunu kontrol edebilirsiniz /etc/mtab.


2

Ben ilgili soru soruldu benim Debian sistemi için, ve cevap oldu:

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

Ardından yeniden başlatın. Bir GVFS montajından sonra (Nautilus aracılığıyla), paylaşım dizini, hangi Debian veya Ubuntu sürümüne sahip olduğunuza bağlı olarak iki yerden birinde olacaktır:

/run/user/<username>/gvfs
~/.gvfs

Yeniden başlatmanız gerekmediğinden eminim. Bir systemctl --user restart gvfs-daemonnumara benim için yaptı.
Torkel Bjørnson-Langen

0

Doğrudan bir Windows makinesinden paylaşılan dosyalara erişmek istediğimde (Nautilus'ta gezinmeden) Paylaşımı, giriş dizinimdeki bir klasöre bağlarım.

Örneğin. Orada 192.168.16.2, etki alanı üzerinde mydomainpaylaşılan bir klasöre sahip IP adresine sahip bir Windows makinesi varsa sharedve giriş dizinimde bir dizin var ise mnt, paylaşıma bağlayabilir mntve giriş dizinimdeymiş gibi erişebilirim:

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

kimlik bilgilerinin bulunduğu yer:

username=stacey
password=mypassword
domain=mydomain

Şimdi kullanabilirsiniz ls /home/stacey/mntpaylaşılan dizindeki dosyaları ve dizinleri listelemek için sharedüzerinde 192.168.16.2bu dahilinde herhangi bir dosya benim yerel sabit diskte bir dosya olduğu gibi bağlama noktası ve erişim.

KOBİ paylarının artırılması konusunda aşağıdaki bilgileri alabilirsiniz:

man mount.cifs

OP'nin sorduğu şey değil.
enzotib 13:11

2
Hayır, ama kynan "ama komut satırından erişmek istiyorum, bu yüzden dosya sisteminde bir bağlantı noktasına ihtiyacım var", bu yüzden sadece yardım etmeye çalışıyorum.
Stacey Richards

Teşekkürler. Bu çözümü düşündüğümden bahsetmeliydim, ancak bunu olanaksız kılan 2 büyük dezavantajı var: 1) kimlik bilgileri dosyasının şifreyi düz metin içinde içermesi gerekir, bu paylaşılan bir makinede kabul edilemez, 2) kök ayrıcalıkları gerektirir Ben sudo'yu yok nerede ve ben de makinelerde çalışan bir çözüm gerek
kynan

0

Şimdilik...

#!/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

3
Bu betiğin ne yapacağını kısa bir açıklama güzel olurdu. Cron işi ne zaman bitmeli?
mook765
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.