Начиная с третьей ветки в платформе Android изменился метод организации внешнего доступа к накопителю мобильного устройства. Если раньше устройство маскировалось под USB-накопитель, который воспринимался внешними системами как обычный USB Flash, то начиная с выпуска Android 3 для доступа к данным предлагается использовать разработанный компанией Microsoft протокол [[http://ru.wikipedia.org/wiki/Media_Transfer_Protocol MTP]] (Media Transfer Protocol), поддержка которого в большинстве Linux-дистрибутивов недоступна из коробки. Причиной перехода на MTP является желание избавится от основного недостатка старой реализации - необходимости размонтирования раздела перед его экспортом, из-за чего во время подключения раздела к ПК он становился недоступным для мобильного устройства.Наиболее простым способом обеспечения работы с Android 4 в Linux является установка из репозиториев или сборка из исходных текстов GTK-приложения gMTP (http://gmtp.sourceforge.net/), которое предоставляет графический интерфейс для работы с файлами на устройстве, в том числе даёт возможность перемещать файлы между gMTP и файловым менеджером в режиме Drag and Drop. При сборке рекомендуется использовать самую свежую версию библиотеки libmtp (http://libmtp.sourceforge.net/), иначе в процессе работы время от времени приходится сталкиваться с проблемами. Готовые свежие сборки gMTP для Ubuntu можно загрузить из специального [[https://launchpad.net/ubuntu/+source/gmtp PPA-репозитория]], а libmtp - [[https://launchpad.net/ubuntu/+source/libmtp здесь]].
Другим способом является монтирование MTP-устройств в виде дисковых разделов при помощи FUSE-модулей [[http://code.google.com/p/mtpfs/ mtpfs]] или [[https://launchpad.net/mtp-fuse/ mtp-fuse]]. Следует отметить, что работают данные модули с некоторыми устройствами весьма нестабильно и оставляют желать лучшего в плане скорости копирования данных. Относительно недавно для решения проблем с ранее доступными FUSE-реализациями был создан FUSE-модуль [[https://github.com/hanwen/go-mtpfs Go-mtpfs]], из особенностей которого можно отметить необходимость установки для сборки компилятора языка программирования Go.
Готовые сборки Go-mtpfs отныне доступны через PPA для Ubuntu 13.04, 12.10 и 12.04. Unstable PPA используется для задействования самой свежей версии libmtp. Кроме того, подготовлен специальный апплет для оболочки Unity, позволяющий быстро монтировать и отмонтировать MTP-разделы.
Установим Go-mtpfs из PPA:
sudo add-apt-repository ppa:webupd8team/unstable
sudo apt-get update
sudo apt-get install go-mtpfs
Установим дополнение для Unity:
sudo apt-get install go-mtpfs-unity
Для монитрования раздела вручную следует использовать команду:
go-mtpfs /media/MyAndroid
Для отмонтирования:
fusermount -u /media/MyAndroid
Для самостоятельной сборки go-mtpfs из Git-репозитория можно использовать следующую инструкцию, в результате которой будет подготовлен исполняемый файл /tmp/go/bin/go-mtpfs:
sudo apt-get install golang fuse git-core libmtp-dev libfuse-dev
sudo adduser $USER fuse
mkdir /tmp/go
GOPATH=/tmp/go go get github.com/hanwen/go-mtpfs
Кроме того, в состав libmtp входит несколько полезных утилит:
Определение устройства:
mtp-detect
Подсоединение к устройству:
mtp-connect
Манипуляции с контентом на устройстве:
mtp-albumart
mtp-getplaylist
mtp-albums
mtp-files
mtp-sendfile
mtp-folders
mtp-newfolder
mtp-delfile
mtp-newplaylist
mtp-getfile
mtp-playlists
mtp-tracks
URL: http://www.webupd8.org/2012/12/how-to-mount-android-40-ubunt... http://blog.itsbilal.com/index.php/2012/12/connect-an-androi.../ https://wiki.archlinux.org/index.php/MTP
Обсуждается: http://www.opennet.dev/tips/info/2724.shtml