मेरे gvfs mounts ~ / .gvfs या / run / user / <login> / gvfs के तहत दिखाई क्यों नहीं देते?


35

मैंने जो पढ़ा है, जब नौटिलस या gvfs-mountआरोह बिंदु के माध्यम से एक नेटवर्क शेयर बढ़ते हुए होना चाहिए ~/.gvfs। ऐसा लगता है कि मेरे लिए मामला नहीं है: मैंने दोनों एफ़टीपी और एसएमबी शेयर को नौटिल्लस और gvfs-mountउबंटू मावेरिक और नैट्टी दोनों के माध्यम से माउंट करने की कोशिश की और किसी भी मामले में मैंने किसी भी माउंट बिंदु के तहत नहीं देखा ~/.gvfs। मैं शेयरों को सिर्फ नॉटिलस में खोज सकता हूं, लेकिन मैं कमांड लाइन के माध्यम से पहुंच बनाना चाहता हूं, यही कारण है कि मुझे फाइल सिस्टम में माउंट बिंदु की आवश्यकता है।

संपादित करें: जेम्स हेनस्ट्रिज के जवाब और एनजोतिब की टिप्पणी के बाद डिबगिंग से पता चला कि मेरे लैपटॉप gvfs-fuse-daemonपर चल रहा है और परिणामस्वरूप gvfs mounts दिखाते हैं ~/.gvfs, जबकि 2 कार्यस्थानों पर जहां ~/.gvfsखाली रह 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


2
क्या आप इसका आउटपुट दिखा सकते हैं mount | grep gvfs?
enzotib

जवाबों:


12

~/.gvfsनिर्देशिका एक फ्यूज द्वारा नियंत्रित किया माउंट होना चाहिए gvfs-fuse-daemonप्रक्रिया। यदि निर्देशिका खाली दिखाई देती है, तो यह इंगित करेगा कि gvfs-fuse-daemonसही ढंग से शुरू नहीं हुआ।

आप इसे निम्नलिखित कमांड के साथ मैन्युअल रूप से शुरू करने का प्रयास कर सकते हैं:

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

यदि वह विफल हो जाता है, तो आप यह जाँचने का प्रयास कर सकते हैं कि क्या और कुछ भी वहां पर मुहिम शुरू की गई है, या फिर भी हटाएं और ~ / .gvfs निर्देशिका को फिर से बनाएँ। यदि चीजें अभी भी विफल होती हैं, तो क्या आप अपने प्रश्न को अपडेट कर सकते हैं और किसी भी त्रुटि संदेश को प्रिंट कर सकते हैं gvfs-fuse-daemon?

** 14.04 पर डेमन को बुलाया जाता है gvfsd-fuseऔर इसमें पाया जा सकता है /usr/lib/gvfs/gvfsd-fuse


1
कुछ और शोधों से पता चला है कि रिमोट फाइल सिस्टम तक पहुंचने का पहला अनुरोध मिलने पर स्वचालित रूप gvfsdसे शुरू होना चाहिए । उबंटु / डेबियन में एक बग भी है जो निर्देशिका को अपठनीय बनाता है जब क्रैश होता है और त्रुटि संदेश पैदा करता है परिवहन समापन बिंदु जुड़ा नहीं हैgvfs-fuse-daemongvfsd~/.gvfsgvfs-fuse-daemon
कीन

क्या यह कभी हल किया गया कि स्वचालित रूप से क्यों gvfsdशुरू नहीं gvfs-fuse-daemonहोता है? आरएचईएल के तहत यह रूट के लिए अपेक्षित के रूप में काम करता है, लेकिन अनपेक्षित उपयोगकर्ताओं के लिए नहीं।
आरोन कोपले

क्या वास्तव में "gvfs-fuse-daemon की भूमिका क्या है", और "gvfs-fuse-daemon चल रहे बिना शेयरों को कैसे चलाया जाता है?" के सवाल का जवाब नहीं दिया। gvfs-fuse-daemon, allow_root जैसे विकल्पों की अनुमति देता है, जिन्हें gvfs-Mount का उपयोग करते समय डिफ़ॉल्ट रूप से अनदेखा कर दिया जाता है। इसलिए उन सवालों के जवाब देने से आपको इस शाश्वत रहस्य को सुलझाने में मदद मिलेगी।
नुज़ोलिलो

वहाँ एक और चेतावनी है! gvfs-mountDBUS की आवश्यकता है और जब आप केवल एक माउंटप्वाइंट मिल जाएगा gvfs-mountका उपयोग करता है वही DBUS सत्र के रूप में gvfs-fuse-daemon। इसलिए, यदि आप एक मशीन में एसएसएचिंग कर रहे हैं और dbus-daemonअपने सत्र के लिए फायरिंग कर रहे हैं, तो आपको अपने सत्र के लिए एक व्यक्ति को स्पॉन करना होगा gvfs-fuse-daemon
user1129682

खैर, यह 5 साल बाद है और यह अभी भी एक जारीकर्ता लगता है
स्टुअर्ट एक्सॉन

20

समस्या (प्रकार) को हल किया।

Ubuntu 12.10 पर माउंटपॉइंट दिखाई देता है /run/user/(your username)/gvfs/sftp\:host\=\192.168.xxx.xxx

उम्मीद है की वो मदद करदे


4

Ubuntu 12.10 में रास्ते बदल दिए गए:

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

3

डेबियन 6.0 मट्ज़ी पर, लेक्सडे और नॉटिलस के साथ। मुझे ~ / .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 में सही तरीके से दिखाता है।


3

मुझे अपनी 12.04 सटीक प्रणाली के साथ एक समान समस्या है।

Nautilus में मुहिम शुरू करने वाली ड्राइव ~/.gvfsविशेष रूप से एक सस्पेंड / रिज्यूमे चक्र के बाद दिखाई नहीं देती हैं। gvfs-fuse-daemonचल रहा है, लेकिन इसे मारना और पुनरारंभ करना समस्या को ठीक नहीं करता है।

मैंने पाया कि nautilus -qकारणों के बाद gvfs-fuse-daemonNautilus को फिर से शुरू करना और Nautilus को फिर से सहयोग करना - माउंट पॉइंट्स फिर से आना।


3

उबंटू के नए संस्करणों में, gvfs बढ़ते में चूक करते हैं /run/user/$USER/gvfs/

आप अपने उपयोगकर्ता की gvfsd-fuse लाइन की तलाश में डिफ़ॉल्ट माउंट पॉइंट है, जहां आप स्वयं देख सकते हैं /etc/mtab


2

मैंने अपने डेबियन सिस्टम के लिए एक संबंधित प्रश्न पूछा , और इसका उत्तर था:

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

फिर रिबूट करें। GVFS माउंट (Nautilus के माध्यम से) के बाद, शेयर निर्देशिका दो स्थानों में से एक में होगी, जो आपके पास डेबियन या उबंटू के किस संस्करण पर निर्भर करती है:

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

मुझे पूरा यकीन है कि आपको रिबूट नहीं करना पड़ेगा। A systemctl --user restart gvfs-daemonने मेरे लिए चाल चली।
टोर्केल ब्योर्नसन-लैंगेन

0

जब मैं विंडोज़ मशीन से साझा की गई फ़ाइलों को सीधे एक्सेस करना चाहता हूं (Nautilus के माध्यम से ब्राउज़ नहीं करना) तो मैं अपने होम डायरेक्टरी में एक फ़ोल्डर पर शेयर को माउंट करता हूं।

उदाहरण के लिए। यदि 192.168.16.2डोमेन पर आईपी ​​पते के साथ एक विंडोज मशीन है, mydomainजिसमें एक फ़ोल्डर है जिसे साझा किया गया है 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साझा निर्देशिका में फ़ाइलों और निर्देशिका सूची sharedपर 192.168.16.2इस के भीतर किसी भी फ़ाइल के रूप में मैं अपने स्थानीय हार्ड ड्राइव पर एक फ़ाइल होता माउंट बिंदु और उपयोग।

आप बढ़ते एसएमबी शेयरों के बारे में अधिक जानकारी प्राप्त कर सकते हैं:

man mount.cifs

ओपी ने जो पूछा वह नहीं।
enzotib

2
नहीं, लेकिन कियान ने कहा "लेकिन मैं कमांड लाइन के माध्यम से एक्सेस करना चाहता हूं, यही कारण है कि मुझे फ़ाइल सिस्टम में माउंट बिंदु की आवश्यकता है", इसलिए मैं बस मदद करने की कोशिश कर रहा हूं।
स्टेसी रिचर्ड्स

धन्यवाद। मुझे इस बात का उल्लेख करना चाहिए कि मैंने इस समाधान पर विचार किया है, लेकिन यह imho के 2 प्रमुख डाउनसाइड्स हैं जो इसे संक्रामक बनाते हैं: 1) क्रेडेंशियल फ़ाइल में सादा पाठ में पासवर्ड होना चाहिए, जो एक साझा मशीन पर अस्वीकार्य है, 2) को रूट विशेषाधिकार की आवश्यकता है और मुझे एक समाधान की आवश्यकता है जो उन मशीनों पर भी काम करता है जहां मेरे पास sudo नहीं है
kynan

0

अभी के लिए...

#!/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
एक संक्षिप्त व्याख्या कि यह स्क्रिप्ट क्या करने जा रही है अच्छा होगा। क्रोन-जॉब कब चलना चाहिए?
mook765
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.