मुझे कमांड लाइन पर ड्राइव को umount करने के लिए रूट विशेषाधिकार की आवश्यकता क्यों है, लेकिन Nautilus में नहीं? उसे कैसे बदला जाए?


24

जब मैं कमांड लाइन के माध्यम से इसे अनमाउंट करने के लिए एक थंब ड्राइव, मीडिया कार्ड, या USB हार्ड ड्राइव डालता हूं, तो मुझे उपयोग करने की आवश्यकता होती है:

sudo umount /media/the_device

लेकिन, मैं नौटिलस जैसे फ़ाइल प्रबंधक में डिवाइस को केवल ई-बटन पर क्लिक करके या डिवाइस पर राइट-क्लिक संदर्भ मेनू का उपयोग करके अनमाउंट कर सकता हूं।

अंतर के लिए तर्क क्या है? मैं इसे कैसे बदल सकता हूं ताकि मैं रूट लाइन की आवश्यकता के बिना कमांड लाइन से अनमाउंट कर सकूं? क्या यह एक बुरा विचार है?

संपादित करें: यदि यह बदल गया है, तो मैं 9.04 पर चल रहा हूं। मैंने अधिकांश संस्करण 5.10--9.04 चलाए हैं, और जहाँ तक मुझे याद है, यह हमेशा से रहा है।


2
हुह मैं उस के बारे में सोचा नहीं था। अजीब बात है ना?
DLH

हाँ, और फिर वहाँ रहस्य mounts है। मैं लंबे समय से यह पता लगाने की कोशिश कर रहा था कि नॉटिलस स्थानीय विंडोज नेटवर्क को कैसे चलाता है और घर में कंप्यूटर चलाता है। मैं nautilus के माध्यम से कहीं भी साझा किए गए फ़ोल्डरों को प्राप्त कर सकता हूं, लेकिन यह जानना बहुत जरूरी है कि टर्मिनल से वहां कैसे पहुंचा जाए।
कैम्पड्रेनैलिन

Nautilus में किसी भी नेटवर्क ड्राइव को ~ / .gvfs के तहत एक्सेस किया जा सकता है। इसके अलावा, मैं nautilus-open-terminalप्लगइन की सलाह देता हूं ।
मारियस गेदमिनस

जवाबों:


40

Nautilus सीधे डिवाइस को अनमाउंट नहीं करता है; यह DBus पर एक सिस्टम डेमन (udisks-daemon) से बात करता है और इसे अनमाउंट करने के लिए कहता है।

यदि आप ऐसा करने की अनुमति देते हैं तो डेमॉन चेक करता है, किसी अन्य सिस्टम डेमन, पॉलिसीकिट से संपर्क करके।

PolicyKit परिभाषित कॉन्फ़िगरेशन का उपयोग करता है /usr/share/polkit-1/actions/org.freedesktop.udisks.policy(जब तक कि स्थानीय सिस्टम व्यवस्थापक इसे ओवरराइड नहीं करता है /etc/polkit-1)। वह फ़ाइल पॉलिसीकिट को बताती है कि सक्रिय कंसोल सत्र वाले उपयोगकर्ता ड्राइव को रोक सकते हैं, इसलिए पॉलिसीटेक्ट एक तीसरे डेमन, कंसोल कंसोल से बात करता है, यह देखने के लिए कि क्या आपके पास सक्रिय कंसोल सत्र हैं। जीडीएम के माध्यम से लॉगिंग एक सांत्वना सत्र के रूप में गिना जाता है; ssh के माध्यम से प्रवेश नहीं करता है।

एक कमांड-लाइन टूल udisksहै जो आपको सूडो का उपयोग किए बिना डिवाइस को एक ही तंत्र के उपयोग के बिना अनमाउंट करने देता है:

udisks --unmount /dev/sdb1

जो फ़ाइल सिस्टम को अनमाउंट करता है; मैं इसके साथ पूरे डिवाइस को भी अलग कर सकता हूं

udisks --detach /dev/sdb

जो मेरी USB कुंजी पर एलईडी को काला कर देता है।


3
इस शोध को करने के लिए मुझे उकसाने के लिए मैं आपको बहुत-बहुत धन्यवाद देना चाहता हूं। मैं लंबे समय तक sudo का उपयोग किए बिना उपकरणों को अनमाउंट करने के लिए एक कमांड-लाइन टूल चाहता था।
मारियस गेदमिनस

1
उम, मेरे सवाल का आपको बहुत अच्छा जवाब देने के लिए मेरा स्वागत करने के लिए आपका स्वागत है। :-)
वंडेन

1
ऐसा करने के अधिकार अब मौजूद नहीं हैं (उबंटू 12.10 के अनुसार) - हालाँकि gvfs-mountअब नीचे दिए गए जवाब से काम चल जाता है
डेविड फ्रेजर

9

स्थिति बदल सकती है - वर्तमान उबंटू में 10.04 यूमाउंट यूएसबी ड्राइव के लिए सुडो के बिना काम करता है। आम तौर पर मुझे लगता है कि कमान

gvfs-mount -u /media/the_device

(gvfs- माउंट gvfs-bin पैकेज में है) को हमेशा काम करना चाहिए।


2

वर्तमान उत्तर हटाए गए हैं। प्रयत्न:

gio mount --unmount *mounted location*

उदाहरण के लिए वर्तमान घुड़सवार विभाजन प्राप्त करें:

lsblk | grep media
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.