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

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

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

Как вы уже сделали выяснил, точки монтирования находятся в /run/user/$USER/gvfs/ (или /var/run/user/$UID/gvfs) и названы в честь протокола, типа соединения и адреса, которые они используют. Что усложняет ситуацию, поскольку адрес подключения может меняться каждый раз, когда вы повторно подключаете устройство, даже если это один и тот же порт. Если у вас есть одно и то же устройство дважды, это становится еще хуже.

Вы можете использовать lsusb для отображения всех подключенных USB-устройств с терминала:

$ lsusb | grep Google   # Note: This is a Nexus 4, change accordinglyBus 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: Я удалил сценарий, который ранее был включен в этот ответ из-за нехватки времени на техническое обслуживание и улучшения. Вы все еще можете найти его в истории изменений.

Доступ к памяти моего устройства 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/

MTP смонтированное устройство обычно можно найти в : /run/user/1000/gvfs/


например, если в адресной строке вашего Nautilus отображается mtp://[usb:001,006]/, затем вы можете получить доступ с помощью:

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

теперь в терминале вы можете копировать файлы или папки:

  • >компакт-диск в папку - cd /run/user/1000/gvfs/mtp\:host=%5Busb%3A001%2C006%5D/
  • >затем скопируйте необходимые папки в текущий каталог - cp -r ~/videos/ .

У меня есть телефон 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

Это работа с:

  • 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. "Плейлисты" - это виртуальный каталог под названием "/Playlists", который содержит ваши плейлисты в виде файлов .m3u. (за man mtpfs)

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

  • sudo mtpfs -h ... перечисляет параметры устройства. Похоже, это работает только до того, как вы смонтируете устройство. Так что, возможно, сначала проверьте.
  • mtp-detect ... показывает множество материал об устройстве (часть mtp-tools).

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

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

  • /средства массовой информации/воля/usb-накопитель

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

Рекомендации

Я взял пример с этих двух постов:

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

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

screenshot

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

После того, как я столкнулся с несогласованностью с подключением по USB, я обошел систему .gvfs и USB все вместе.

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

Синхронизация папок осуществляется через ownCloud и/или BitTorrentSync.

И FTP по беспроводной сети намного быстрее, чем при подключении по USB.

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

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

mtpfs <a_folder_to_mount>

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

enter image description here

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

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

2019: Ни один из приведенных ниже ответов не работает. Ubuntu 19.04

В debian я установил пакет gvfs-daemons и перезагрузился, и теперь он работает.

Возможный дубликат Показать доступный путь ‘cd’ к устройству mtp в Nemo