Где в файловой системе находятся подключенные к MTP устройства?

У меня есть телефон Android, который соединяется с моим компьютером через MTP. Это прекрасно работает; Я могу видеть и передавать файлы с помощью Nautilus. Однако я часто хочу использовать терминал для перемещения большого количества файлов, и я не могу найти устройство где-либо в дереве файловой системы. Наутилус сообщает о местоположении как mtp://[usb:003,007]/, но он не находится под /media или /mnt.

Кто-нибудь знает, где это?

208
задан 7 September 2013 в 00:00

13 ответов

Как вы уже обнаружили , точки монтирования находятся в /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


Правка Аскера: для этого требуется более новая версия libmtp и / или gvfs, чем доступна по умолчанию в 13.04. Запустите sudo add-apt-repository ppa:langdalepl/gvfs-mtp и обновите, прежде чем делать что-либо еще.


Редактировать: PPA больше не нужен в saucy / 13.10 и более новых, имена файлов перечислены в терминале, как и в Nautilus.

Редактировать 2016-01-11: я удалил сценарий, который ранее был включен в этот ответ, из-за нехватки времени на обслуживание и улучшения. Вы все еще можете найти его в истории изменений.

0
ответ дан 7 September 2013 в 00:00

Доступ к памяти моего устройства 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/
0
ответ дан 7 September 2013 в 00:00

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/ .
0
ответ дан 7 September 2013 в 00:00

Тип mount. Это будет список всех активных файловых систем.

0
ответ дан 7 September 2013 в 00:00

У меня есть телефон LG2, и я использую Xubuntu 15.10.

Так я смонтировал устройство в каталоге mnt под моим пользователем.

  1. Сначала убедитесь, что в вашей системе установлены следующие пакеты.

    sudo apt-get install jmtpfs mtp-tools
    
  2. Подключите телефон как устройство MTP и введите следующую команду в своем терминале.

    mtp-detect
    
  3. Раскомментировать user_allow_other в файле /etc/fuse.conf.

  4. Создайте каталог mnt в вашем домашнем каталоге.

    mkdir mnt
    
  5. Установите устройство.

    jmtpfs ~/mnt
    
  6. Вот и все. Теперь ваше устройство смонтировано в каталоге mnt, созданном на шаге 4 .

Примечание: могут быть некоторые ненужные шаги. Но следующие шаги сработали для меня.

Ссылка: https://wiki.archlinux.org/index.php/MTP

0
ответ дан 7 September 2013 в 00:00

Это работает с:

  • Linux Mint 17.3
  • Samsung Galaxy 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
    • # Лично я ограничил бы полномочия НЕТ - выполняются
    • # В этой точке я не уверен, что достаточно должно смонтироваться.
  5. Отключите телефонный micro-USB и плагин, затем...
  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

Список доступа к SD-карте на моем телефоне на базе Android. "Плей-листы" являются виртуальным каталогом, названным "/Плей-листы", который содержит Ваши плей-листы как .m3u файлы. (на man mtpfs)

Это, кажется, добивается цели. Полезные команды для запоминания...

  • sudo mtpfs -h ... перечисляет опции устройства. Это, кажется, только работает перед монтированием устройства. Так проверяют прежде всего, возможно.
  • mtp-detect ... шоу много материала об устройстве (часть mtp-инструментов).

Также я думаю, что Вы нуждаетесь в телефоне/устройстве "на", открываете экранную заставку, если у Вас есть тот, таким образом, устройство может соединиться.

Я заметил, что мой USB-s монтируется как:

  • /media/will/usbdrive

Таким образом, могло бы иметь больше смысла монтироваться под Вашим именем пользователя вместо "mtp" тупика. Также рассмотрите сообщение: "Монтируя Ваш MTP SD-карта Android на Ubuntu", это имеет несколько полезных предложений и отдельно оплачиваемых предметов.

ссылки:

Я взял на себя свою инициативу из этих двух сообщений:

10
ответ дан 7 September 2013 в 00:00

Это не прямой ответ на проблему, но, тем не менее, решение.

После несоответствия с USB-соединением я обошел все .gvfs и USB-систему вместе.

Я установил простой FTP-сервер на Android и вуаля! Подключитесь к серверу (либо по протоколу ftp с логином, либо без, в зависимости от того, как вы выберете) из Nautilus / nemo / thunar и все готово.

Синхронизация папок обрабатывается через OwnCloud и / или BitTorrentSync.

И FTP через беспроводную сеть работает намного быстрее, чем USB-соединение.

0
ответ дан 7 September 2013 в 00:00

MTP - это протокол, очень похожий на FTP или SSH. Он выбирает файлы, когда пользователь просит об этом. Таким образом, на компьютере нет смонтированной файловой системы.

Используйте mtpfs, чтобы он выглядел как смонтированная файловая система.

mtpfs <a_folder_to_mount>

Нет необходимости указывать устройство. Если у вас подключено только одно устройство, то двусмысленности нет. Я не тестировал его с несколькими устройствами, подключенными к моему компьютеру.

0
ответ дан 7 September 2013 в 00:00

Я могу управлять файлами на Android-устройстве, подключенном к MTP, используя команды gvfs-* (например, gvfs-cp, gvfs-move, ...), которые также упоминаются в следующей статье Википедии : GVFS .

Я написал простую утилиту CLI для синхронизации файлов с устройством Android: https://github.com/DusanMadar/PySyncDroid

0
ответ дан 7 September 2013 в 00:00

Я не знаю точно, чтобы перейти к местоположению MTP через терминал. Однако я обнаружил, что мы можем щелкнуть правой кнопкой мыши на внутренней памяти / SD-карте и выбрать опцию «Открыть в терминале». При этом местоположение открывается непосредственно в Терминале.

0
ответ дан 7 September 2013 в 00:00

enter image description here

После доступа к правильному пути, как сказано ЗДЕСЬ и другим ответам, хорошей идеей является добавьте неизменяемый путь (например, / run / user / 1000 / gvfs ) в качестве закладки на левую панель файлового менеджера. Когда телефон отключен, эта папка будет пустой.

Я заметил, что есть разница между параметрами, доступными для файла, доступ к которому осуществляется таким способом , и параметрами, доступными для того же файла при доступе "обычным" способом, mtp: // путь (щелчок «mtp» или имя / номера устройства на левой панели): при доступе к / run / user /.../ gvfs файл имеет в контекстном меню (" Откройте с ") все ожидаемые варианты; эти параметры ограничены (уменьшены до значений по умолчанию / ванильных), когда к файлу обращается mtp: // . Кроме того, некоторые программы (например, MKVToolNix) не могут получить доступ к файлу по пути mtp: // , но могут по другому пути. Этот аспект может стать важным в некоторых сценариях, например, когда нужно создать / загрузить файл на телефон, обработать его с помощью компьютерной программы (например, MKVToolNix) и вывести на внешнее устройство.

3
ответ дан 10 April 2020 в 14:47

В последние несколько дней мое соединение MTP снова было смертельно медленным. Я все еще на 18.04 и пока не могу обновиться до 20.04 (я работаю над устройствами, которым требуется 18.04).

В первый раз, когда я столкнулся с проблемой, я смог найти файл со скобками и удалить этот файл, после чего все вернулось в норму. До сих пор. Мне действительно нужен быстрый доступ к моим изображениям, поскольку я использую эту функцию для своей работы, поэтому я посмотрел дальше... и обнаружил, что исправление доступно, как и ожидалось, в отчете об ошибке панели запуска.

Вот копия конкретной записи, которая исправила это для меня:

Я только что попытался установить libmtp-1.1.17-2 18.04 отсюда: https://launchpad.net/ubuntu/+source/libmtp/1.1.17-2/+сборка/18694144 файлы:

  • libmtp-common_1.1.17-2_all.deb
  • libmtp-runtime_1.1.17-2_amd64.deb
  • libmtp9_1.1.17-2_amd64.deb
    (отключите телефон и после установки выйдите из системы и снова войдите в систему или перезагрузитесь для загрузки новых библиотек)
    Теперь листинг файлов выполняется быстро, и я действительно могу передавать файлы.

Следующие команды, которые я запускал:

wget https://launchpad.net/ubuntu/+source/libmtp/1.1.17-2/+build/18694144/+files/libmtp-common_1.1.17-2_all.deb
wget https://launchpad.net/ubuntu/+source/libmtp/1.1.17-2/+build/18694144/+files/libmtp-runtime_1.1.17-2_amd64.deb
wget https://launchpad.net/ubuntu/+source/libmtp/1.1.17-2/+build/18694144/+files/libmtp9_1.1.17-2_amd64.deb
sudo dpkg -i libmtp9_1.1.17-2_amd64.deb libmtp-common_1.1.17-2_all.deb libmtp-runtime_1.1.17-2_amd64.deb

В моем случае мне все равно пришлось перезагружаться, поэтому я перезагрузился. Но, как сказал плакат на панели запуска, вы должны по крайней мере выйти из сеанса X11 и снова войти в него. Затем я сделал несколько снимков, снова подключил телефон как обычно, и он мгновенно подключился и заработал как положено. Нет паузы между соединением и доступностью файловой системы gvfs.

Примечание: Файлы предназначены для Focal Fossa (20.04), но вы можете безопасно установить их на Bionic Beaver (18.04), и это работает. Было бы здорово, если бы они сделали обновление, чтобы решить проблему в 18.04. Ну ладно...

2
ответ дан 18 May 2020 в 01:17

Вы можете подумать, что ваша ОС просто скрывает automount обрабатывает от вас, как это делает мой Kubuntu 20.10. Я думаю, что это причина того, что этот вопрос поднимается так часто. Чтобы избежать этого, прочитайте эту короткую ветку здесь:

Отключение автомонтирования USB

Предложение «Возможно, исключение 'plugdev' из вашего профиля пользователя сделает это». был тот, который помог мне в конце концов! Я вышел из группы plugdev, и с тех пор все проблемы, связанные с USB-подключением моего телефона, были решены.

Лучше всего то, что вы можете изменить это в любое время, не нарушая и не испортив конфигурацию системы.

1
ответ дан 3 February 2021 в 10:40

Другие вопросы по тегам:

Похожие вопросы: