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

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

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

1
задан 7 September 2013 в 01:00

9 ответов

Доступ к памяти моего устройства 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/
69
ответ дан 24 May 2018 в 18:15
  • 1
    Этот должен быть принятым ответом, поскольку он не требует установки какого-либо дополнительного программного обеспечения. Большое спасибо пользователю2529583! – NH. 18 January 2017 в 04:45
  • 2
    Любая идея, если имя файла mtp* можно переименовать для использования в винных приложениях? Наивный mv дает мне mv: cannot move 'mtp:host=%5Busb%3A001%2C065%5D' to 'mtp': No such file or directory (обратите внимание, что имя файла заполнено вкладкой) – Mark Jeronimus 10 November 2017 в 16:32
  • 3
    @Mark любой символ является допустимым именем файла в linux. Посмотрите, есть ли способ переименовать его без mv. – Babken Vardanyan 10 November 2017 в 16:35
  • 4
    Потрясающие. Он отлично работает и спас меня от многих «опробованных». на Raspbian Wheezy и Jessie – Zimano 18 December 2017 в 14:15

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

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

/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/ .
20
ответ дан 24 May 2018 в 18:15
  • 1
    Он работает точно так же, как вы говорите. Но когда я делаю «ls -a», он пуст. – ycc_swe 20 September 2017 в 19:12

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

9
ответ дан 24 May 2018 в 18:15
  • 1
    Нет, устройство не отображается на выходе. – LiveWireBT 7 September 2013 в 03:54
  • 2
    Хм. Это сработало. Я нашел его под / run / user / myusername / gvfs /. Однако все имена папок - это просто цифры, а не фактические имена, которые я вижу в Nautilus. Таким образом, это действительно не решает мою проблему, потому что я все еще не могу легко использовать терминал для перемещения файлов на устройство. – bessman 7 September 2013 в 12:21
  • 3
    Когда Nautilus открывает MTP-устройство, используйте команды lsof -c nautilus | less, чтобы отобразить все файлы Nautilus. – waltinator 4 February 2014 в 01:13
  • 4
    Это решило это для меня :) – marlar 10 April 2015 в 13:28

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

Linux Mint 17.3 Samsung Galaxy S5

попробуйте это:

apt-get install mtpfs apt-get install mtp-tools # да может быть одна строка (это необязательно) sudo mkdir -p /media/mtp/phone sudo chmod 775 /media/mtp/phone # Лично я бы ограничил права на NO-eXecute #. В этот момент я не уверен, чего достаточно для монтирования. Отключите телефон micro-USB и плагин, затем ... sudo mtpfs -o allow_other /media/mtp/phone 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
apt-get install mtpfs

output:

 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)

Это похоже на трюк. Полезные команды для запоминания ...

Linux Mint 17.3 mtp-detect ... показывает много материала об устройстве (часть mtp-tools).

Также я думаю, что вам нужен телефон / устройство «включено», откройте экранную заставку, если он у вас есть, поэтому устройство может подключиться.

Я заметил, что мой USB-накопитель как:

mtp-detect ... показывает много материала об устройстве (часть инструментов mtp).

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

ссылки:

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

Установка SD-карты MTP Androids на Ubuntu Samsung Galaxy S5 http://libmtp.sourceforge.net
7
ответ дан 24 May 2018 в 18:15
  • 1
    Привет, хотя это работает, я все еще считаю, что MTP слишком медленный, и часто это , как будто мой Linux-ПК заблокирован. Я поддерживаю дальнейшие комментарии об использовании FTP. Я сделал рытье и рекомендовал приложение sshelper . Это очень полезно, открытое и зрелое. Будет работать с Windows, Linux и Mac. Или что-нибудь, что поддерживает SSH. Простота в использовании. Попробуй. – will 21 September 2017 в 10:54

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

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

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

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

И FTP по беспроводной сети быстрее, чем USB-соединение.

6
ответ дан 24 May 2018 в 18:15

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

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

Сначала убедитесь, что у вас есть следующие пакеты, установленные в вашей системе.
sudo apt-get install jmtpfs mtp-tools
Подключите телефон как устройство MTP и введите следующую команду в своем терминале.
mtp-detect
Раскомментировать user_allow_other в файле /etc/fuse.conf. Создайте каталог mnt в своем домашнем каталоге.
mkdir mnt
Установите устройство.
jmtpfs ~/mnt
Вот оно. Теперь ваше устройство смонтировано под каталогом mnt, созданным на шаге 4.

Примечание: могут быть некоторые шаги, которые не нужны. Но после этих шагов я работал для меня.

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

6
ответ дан 24 May 2018 в 18:15

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

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

mtpfs <a_folder_to_mount>

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

3
ответ дан 24 May 2018 в 18:15

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

Я написал простую утилиту CLI для синхронизации файлов с / на Android-устройстве: GVfs

0
ответ дан 24 May 2018 в 18:15

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

0
ответ дан 24 May 2018 в 18:15
  • 1
    Реальный снимок экрана (внутреннего фреймбуфера) был бы намного лучше, чем фотография экрана (с внешней камерой). – David Foerster 20 April 2018 в 02:19

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

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