फ़ाइल सिस्टम में MTP माउंटेड डिवाइस कहाँ स्थित हैं?


206

मेरे पास एक Android फ़ोन है जो MTP के माध्यम से मेरे कंप्यूटर से जुड़ता है। यह ठीक काम करता है; मैं Nautilus के साथ फाइल देख और ट्रांसफर कर सकता हूँ। हालाँकि, मैं अक्सर बड़ी संख्या में फ़ाइलों को स्थानांतरित करने के लिए टर्मिनल का उपयोग करना चाहता हूं, और मैं फाइलसिस्टम के पेड़ में कहीं भी डिवाइस को खोजने के लिए प्रतीत नहीं कर सकता। Nautilus के रूप में स्थान की रिपोर्ट करता है mtp://[usb:003,007]/, लेकिन यह के तहत /mediaया नहीं है /mnt

क्या कोई जानता है कि यह कहां है?


जवाबों:


153

जैसा कि आप पहले ही पता लगा चुके हैं , माउंटपॉइंट्स /run/user/$USER/gvfs/(या /var/run/user/$UID/gvfs) में हैं और प्रोटोकॉल, कनेक्शन प्रकार और उनके द्वारा उपयोग किए जाने वाले पते के नाम पर हैं। जो चीजों को और अधिक कठिन बनाता है, क्योंकि कनेक्शन का पता हर बार जब आप डिवाइस को बदल सकते हैं, भले ही वह समान पोर्ट हो। यदि आपके पास एक ही उपकरण दो बार है तो यह और भी खराब हो जाता है।

आप lsusbटर्मिनल से सभी कनेक्टेड USB उपकरणों को प्रदर्शित करने के लिए उपयोग कर सकते हैं :

$ lsusb | grep Google                       # Note: This is a Nexus 4
Bus 002 Device 025: ID 18d1:4ee2 Google Inc.

जैसा कि आपने देखा कि Nautilus टूल टिप के माध्यम से भी यह जानकारी देता है। आप इनकोडिंग फॉर्म को उदाहरण mtp://[usb:002,025]के लिए /run/user/$USER/gvfs(या /var/run/user/$UID/gvfs) के रूप में पाएंगेmtp:host=%5Busb%3A002%2C025%5D


एस्केर्स एडिट: ऐसा लगता है कि 13.04 में डिफ़ॉल्ट रूप से उपलब्ध के मुकाबले libmtp और / या gvfs के नए संस्करण की आवश्यकता है। sudo add-apt-repository ppa:langdalepl/gvfs-mtpकुछ और करने से पहले चलाएं और अपडेट करें।


संपादित करें: पीपीए को अब सौसी / 13.10 में और नए की जरूरत नहीं है, फ़ाइल नाम टर्मिनल में सूचीबद्ध हैं क्योंकि वे नौटिलस में हैं।

संपादित करें 2016-01-11: मैंने रखरखाव और सुधार के लिए समय की कमी के कारण इस स्क्रिप्ट को पहले ही हटा दिया था। आप इसे अभी भी संशोधन इतिहास में पा सकते हैं।


आपके उत्तर के लिए धन्यवाद। दुर्भाग्य से, यह काम नहीं करता है क्योंकि वास्तविक फ़ोल्डर नाम (जैसे / DCIM / कैमरा /) केवल Nautilus में दिखाई देते हैं, टर्मिनल नहीं। इस प्रकार, $ Path / DCIM / Camera rsync के साथ उपलब्ध नहीं है।
बेज़मैन

2
रास्ता सिर्फ एक उदाहरण है और एंड्रॉइड फोन के लिए अलग है। डेटा तक पहुंच की अनुमति देने के लिए फोन को लॉक स्क्रीन के माध्यम से भी अनलॉक किया जाना चाहिए।
LiveWireBT

/DCIM/Camera/मेरे फोन पर पथ मौजूद है, लेकिन टर्मिनल में इसे कहा जाता है /2404/2407/। यही समस्या है। अगर मैं cdमें /2404/2407/और चलाने nautilus ., तो /DCIM/Camera/खोला गया है। फोन अनलॉक है, अन्यथा मैं इसे Nautilus के माध्यम से एक्सेस करने में सक्षम नहीं होगा, है ना?
बल्लेबाज

5
ध्यान दें कि यह सब काम करने के लिए, आपको gvfs-fuseपैकेज स्थापित करने की आवश्यकता है । उबंटू के सभी संस्करणों / स्वादों में यह डिफ़ॉल्ट रूप से नहीं है (उदाहरण के लिए उबंटू मेट 14.10 नहीं)। इसके बिना MTP डिवाइस एक स्थानीय पथ के रूप में माउंट नहीं होगा और केवल उन अनुप्रयोगों द्वारा उपयोग करने योग्य होगा जो gvfs URI का समर्थन करते हैं।
15:14 बजे user149408

2
मुझे gvfs/अंततः निर्देशिका मिली । हालांकि $ USER के बजाय, इस PC पर पथ है: /run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C003%5D- दूसरों के लिए, मैं आपको सुझाव देता हूं कि आप इसके बारे में केवल प्रहार करें, यदि आप इसे तुरंत नहीं पाते हैं।
करेंगे

94

मेरे Nexus डिवाइस की मेमोरी को यहां तक ​​पहुँचा जा सकता है:

/run/user/$UID/gvfs/mtp*

इसलिए यदि आपका $ UID है 1000, तो आप इसे या तो कर सकते हैं

$ cd /run/user/$UID/gvfs/mtp*

या (आपके UID 1000 है एक उदाहरण में सटीक स्थान के लिए),

$ cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

2
यह स्वीकृत उत्तर होना चाहिए क्योंकि इसके लिए किसी अतिरिक्त सॉफ़्टवेयर को स्थापित करने की आवश्यकता नहीं है। बहुत बहुत धन्यवाद user2529583!
एनएच।

किसी भी विचार अगर mtp*शराब अनुप्रयोगों में उपयोग के लिए नाम बदला जा सकता है? Naive mvमुझे देता है mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory(ध्यान दें कि फ़ाइल नाम टैब-पूर्ण है)
मार्क जेरोनिमस

@ मर्क किसी भी चरित्र को लिनक्स में एक वैध फ़ाइल नाम है। देखो अगर वहाँ एक तरह से नाम के बिना नाम है।
बब्केन वर्दयान

बहुत बढ़िया। यह पूरी तरह से ठीक काम करता है और मुझे रास्पियन व्हीजी और जेसी पर "बहुत कोशिश कर रहा है" बचा लिया
Zimano

1
उबंटू 16.04 और हॉनर 9 लाइट। कनेक्ट करने के बाद फोन /run/user/1000/gvfsफोल्डर खाली है।
LRDPRDX

25

MTP घुड़सवार डिवाइस आमतौर पर में पाया जा सकता है: /run/user/1000/gvfs/


उदाहरण के लिए यदि आपका Nautilus पता बार दिखाता है mtp://[usb:001,006]/, तो आप इसके द्वारा पहुँच सकते हैं:

/run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/

अब टर्मिनल पर आप फ़ाइलों या फ़ोल्डरों को कॉपी कर सकते हैं:

  • cd फोल्डर में -> cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
  • फिर वर्तमान निर्देशिका के लिए आवश्यक फ़ोल्डर कॉपी करें -> cp -r ~/videos/ .

2
यह ठीक वैसे ही काम करता है जैसा आप कहते हैं। लेकिन जब मैं 'ls -a' बनाता हूं तो यह खाली होता है।
ycc_swe

10

टाइप करें mount। वह हर सक्रिय फाइलसिस्टम को सूचीबद्ध करेगा।


14
नहीं, आउटपुट में डिवाइस दिखाई नहीं देता है।
लाइववायरबीटी

1
हम्म। उस तरह काम किया। मैंने इसे अंडर / रन / यूज़र / मायुसरनेम / gvfs / के तहत पाया। हालाँकि, सभी फ़ोल्डरनाम वास्तविक नामों के बजाय केवल संख्याएँ हैं जिन्हें मैं नॉटिलस में देखता हूं। इस प्रकार, यह वास्तव में मेरी समस्या का समाधान नहीं करता है क्योंकि मैं अभी भी डिवाइस में फ़ाइलों को स्थानांतरित करने के लिए आसानी से टर्मिनल का उपयोग नहीं कर सकता हूं।
बेसमैन

जब Nautilus में MTP डिवाइस खुला होता है, तो Nautilus की lsof -c nautilus | lessसभी फ़ाइल को सूचीबद्ध करने के लिए कमांड का उपयोग करें ।
वाल्टिनेटर

1
यही कारण है कि यह मेरे लिए :) हल
marlar

10

इस के साथ काम कर रहा है:

  • लिनक्स मिंट 17.3
  • सैमसंग गैलेक्सी S5

इसे इस्तेमाल करे:

  1. apt-get install mtpfs
  2. apt-get install mtp-tools
    • #हाँ एक पंक्ति हो सकती है (यह वैकल्पिक है )
  3. sudo mkdir -p /media/mtp/phone
  4. sudo chmod 775 /media/mtp/phone
    • #व्यक्तिगत रूप से मैं अनुमतियों को NO-eXecute तक सीमित नहीं करूंगा
    • #इस बिंदु पर मुझे यकीन नहीं है कि माउंट करने के लिए पर्याप्त क्या है ।
  5. फोन माइक्रो-यूएसबी और प्लग-इन को अनप्लग करें, तब ...
  6. sudo mtpfs -o allow_other /media/mtp/phone
  7. ls -lt /media/mtp/phone

उत्पादन:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Card
 drwxrwxrwx 2 will will 0 Jan  1  1970 Phone
 drwxrwxrwx 2 will will 0 Jan  1  1970 Playlists
  1. ls -lt /media/mtp/phone/Card

उत्पादन:

 total 0
 drwxrwxrwx 2 will will 0 Jan  1  1970 Android
 drwxrwxrwx 2 will will 0 Jan  1  1970 DCIM
 drwxrwxrwx 2 will will 0 Jan  1  1970 LOST.DIR
 drwxrwxrwx 2 will will 0 Jan  1  1970 Music

मेरे एंड्रॉइड फोन पर एसडी-कार्ड तक पहुंच की सूची। " प्लेलिस्ट " एक आभासी निर्देशिका है, जिसे "/ प्लेलिस्ट" कहा जाता है, जिसमें आपकी प्लेलिस्ट .m3u फ़ाइलों के रूप में होती है। (प्रति man mtpfs)

ऐसा लगता है कि चाल है। याद रखने के लिए उपयोगी कमांड ...

  • sudo mtpfs -h... डिवाइस के विकल्पों को सूचीबद्ध करता है। डिवाइस को माउंट करने से पहले यह केवल काम करता है। तो पहले बंद की जाँच करें, शायद।
  • mtp-detect... डिवाइस के बारे में बहुत सी चीजें दिखाता है (mtp-tools का हिस्सा)।

इसके अलावा, मैं आपको फ़ोन / डिवाइस "की जरूरत है पर ", स्क्रीन बचाने खोलने यदि आप एक तो डिवाइस कनेक्ट कर सकते हैं।

मैंने देखा कि मेरा USB-s माउंट है:

  • / मीडिया / होगा / usbdrive

इसलिए यह "mtp" स्टब के बजाय अपने उपयोगकर्ता नाम के तहत माउंट करने के लिए अधिक समझदार हो सकता है। पोस्ट की समीक्षा भी करें: " उबंटू पर आपका एमटीपी एंड्रॉइड एसडी-कार्ड माउंट करना ", इसमें कुछ उपयोगी सुझाव और अतिरिक्त हैं।

संदर्भ:

मैंने इन दो पदों से अपना नेतृत्व ग्रहण किया:


हाय हालांकि यह काम करता है, मुझे अभी भी पता है कि एमटीपी बहुत धीमा है और अक्सर ऐसा होता है जैसे कि मेरा लिनक्स पीसी लॉक हो गया है। मैं FTP का उपयोग करने के बारे में आगे की टिप्पणियों का समर्थन करता हूं। मैंने कुछ खुदाई की और sshelper ऐप की सिफारिश की । यह बहुत उपयोगी है, खुला खट्टा और परिपक्व है। विंडोज, लिनक्स और मैक के साथ काम करेंगे - या कुछ भी जो एसएसएच का समर्थन करता है। उपयोग में आसान भी। इसकी कोशिश करें।
होगा

8

मुझे एक LG2 फोन मिला और मैं Xubuntu 15.10 चला रहा हूं।

इस प्रकार मैंने अपने उपयोगकर्ता के अंतर्गत निर्देशिका को mnt निर्देशिका में आरोहित किया।

  1. पहले सुनिश्चित करें कि आपके पास आपके सिस्टम में निम्नलिखित पैकेज हैं।

    sudo apt-get install jmtpfs mtp-tools
    
  2. अपने फोन को एमटीपी डिवाइस के रूप में कनेक्ट करें और अपने टर्मिनल में निम्न कमांड टाइप करें।

    mtp-detect
    
  3. user_allow_otherफ़ाइल में अधूरापन /etc/fuse.conf

  4. mntअपने घर निर्देशिका में एक निर्देशिका बनाएँ ।

    mkdir mnt
    
  5. डिवाइस को माउंट करें।

    jmtpfs ~/mnt
    
  6. बस। अब आपका डिवाइस चरण 4mnt में बनाई गई निर्देशिका के तहत आरोहित है ।

नोट: कुछ ऐसे कदम हो सकते हैं जो अनावश्यक हों। लेकिन उपरोक्त चरणों का पालन करना मेरे लिए काम कर गया।

संदर्भ: https://wiki.archlinux.org/index.php/MTP


6

यह समस्या का सीधा जवाब नहीं है, लेकिन फिर भी एक समाधान है।

USB कनेक्टिविटी के साथ असंगति का अनुभव करने के बाद, मैंने .gvfs और USB सिस्टम को एक साथ रखा।

मैंने android और voila पर एक साधारण ftp सर्वर स्थापित किया है! Nautilus / nemo / thunar से सर्वर से कनेक्ट करें (या तो लॉगिन या बिना, आप कैसे चुनते हैं इसके आधार पर) और दूर तुम जाओ।

फ़ोल्डर्स के सिंक्रोनाइजेशन को खुद कोClCloud और / या BitTorrentSync के माध्यम से नियंत्रित किया जाता है।

और वायरलेस पर एफ़टीपी यूएसबी कनेक्शन की तुलना में तेज़ तरीका है।


5

एमटीपी एक प्रोटोकॉल है, जो एफ़टीपी या एसएसएच की तरह है। जब उपयोगकर्ता इसके लिए पूछता है तो यह फाइल लाती है। इस प्रकार कंप्यूटर पर कोई माउंटेड फाइल सिस्टम नहीं है।

माउंटेड फ़ाइल सिस्टम की तरह दिखने के लिए mtpfs का उपयोग करें।

mtpfs <a_folder_to_mount>

डिवाइस को निर्दिष्ट करने की आवश्यकता नहीं है। यदि आपके पास केवल एक उपकरण जुड़ा हुआ है, तो कोई अस्पष्टता नहीं है। मैंने अपने कंप्यूटर से जुड़े कई उपकरणों के साथ इसका परीक्षण नहीं किया है।


4

मुझे पता नहीं है कि टर्मिनल के माध्यम से एमटीपी स्थान को कैसे पार करना है। हालांकि, मुझे पता चला कि हम आंतरिक भंडारण / एसडी कार्ड पर राइट क्लिक कर सकते हैं और "टर्मिनल में खोलें" विकल्प चुन सकते हैं। ऐसा करने से स्थान सीधे टर्मिनल में खुल जाता है।


2
एक वास्तविक स्क्रीनशॉट (आंतरिक फ़्रेमबफ़र का) स्क्रीन की तस्वीर (बाहरी कैमरे के साथ) की तुलना में बहुत बेहतर होगा।
डेविड फ़ॉर्स्टर

1

मैं एक एमटीपी जुड़े Android डिवाइस का उपयोग पर फाइलों का प्रबंधन करने में सक्षम हूँ gvfs-*आदेशों (जैसे gvfs-cp, gvfs-move, ...) जो भी निम्न में उल्लेख कर रहे विकिपीडिया लेख : GVfs

मैंने एक Android डिवाइस से / से फ़ाइल सिंक्रनाइज़ेशन के लिए एक साधारण सीएलआई उपयोगिता लिखी: https://github.com/DusanMadar/PySyncDroid


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