Кращий спосіб підключити Galaxy Nexus (ICS) до Linux


13

Я можу підключити свій Galaxy Nexus до моєї машини Kubuntu за допомогою протоколу PTP , але це дуже повільно. Я читав це інтерв'ю про те, чому Galaxy Nexus не підтримує USB-накопичувач , і я перейшов до http://www.android.com/filetransfer/ за інструкцією, але я не можу зрозуміти, що дозволить мені підключіться до пристрою за допомогою машини Linux та MTP .

Хтось знає, як змусити MTP чи будь-який інший протокол працювати?

Відповіді:


7

Ви також можете спробувати mtpfs або gMTP . mtpfs дозволяє монтувати MTP-пристрій як файлову систему, тоді як gMTP - це окрема програма.

Більше в AskUbuntu є відповідь, яка показує, як використовувати mtpfs.


gMTP, здається, працює дуже добре для мене, щоб копіювати фотографії зі свого старого телефону. Спроба копіювання через PTP була болючою.
Райан

1
gMTP для мене незадовільний. Це ДУЖЕ повільно, і він дає помилки з музичними файлами (він намагається створити альбоми для кожного переданого файлу). gMTP також часто виходить з ладу в Ubuntu. Мені більше подобається метод ADB. Я також використовую SSHFS через WiFi та кілька інших методів.
MountainX

6

Я розширю уявлення про Райана Конрада:

adb від android-tools - це шлях.

Я вважаю за краще слідувати цьому посібнику, щоб встановити Eclipse з android-sdk:

http://developer.android.com/sdk/installing.html

Установка залежить лише від JDK. Немає встановлення нових пакетів. Я особисто роблю ті ж самі кілька кроків (= витягнення двох папок у будь-якому місці та налаштування затемнення) однаковим чином у дистрибутивах Ubuntu, Mint або Debian і все просто працює.

Після завершення цього класичного керівництва у мене є дві нові папки: eclipse та android-sdks . У папці android-sdks ./platform-tools/adb - шлях до adbінструменту, який можна використовувати для push(завантаження) та pull(отримання) файлів із пристрою Android - без mtpfs чи додаткових кріплень.

Як і adbв програмі командного рядка, вона може бути автоматизована миттєво. Більше того, у вас є перегляд File Explorer Eclipse , який забезпечує приємну графічну структуру файлів дерева та базовий інтерфейс перетягування (не забудьте спочатку вибрати свій пристрій у режимі перегляду пристроїв !).

Великий недолік цього методу полягає в тому, що лише adbінструмент бачить пристрій і може отримати доступ до нього. Решта моєї системи, включаючи Nautilus, наприклад, все ще не бачить пристрій. Але після звикання до стабільності та надійності adbце для мене не проблема.


1
adb - це проблема безпеки, якщо ви постійно підтримуєте її. Майте на увазі, що немає діалогу із фразою фрази чи нічого. Можна обійти блокування екрана і навіть повне шифрування пристрою. Особливо, якщо вам трапляється заряджати його в невідомих місцях (ПК в інтернет-кафе тощо)
ce4

дякую за повідомлення, ce4. Дозвольте запитати тоді: які засоби для доступу до Android-накопичувача ми повинні використовувати у невідомих місцях?
furikuretsu

1
додав власну відповідь про bluetooth :-)
ce4

6

Ви можете використовувати Bluetooth .

Bluetooth FTP (профіль передачі файлів) підтримується Linux, і там є програма Bluetooth File Transfer , яка додає цю функціональність до Android. Однак це не так швидко (<200 кбіт / с) залежно від версій Bluetooth. -

Є модуль запобіжників під назвою obexfs , ось мій Nexus S:

root@local:/tmp# obexfs -b f0:08:f1:xx:xx:xx -- /media/bla
root@local:/tmp# cd /media/bla
root@leo61326:/media/bla# ls -lh /media/bla/DCIM/
total 5,5K
drwxr-xr-x 1 root root    0 2012-05-25 16:09 100ANDRO
drwxr-xr-x 1 root root    0 2012-07-05 17:31 2012-06-09_Rafting
drwxr-xr-x 1 root root    0 2012-07-09 22:30 Camera

Деякі дослідники файлів підтримують його безпосередньо за допомогою плагінів (nautilus / gnome / kde / ...) Ось кілька питань, пов’язаних з Ubuntu obex.


1
Ця відповідь заслуговує на більшу кількість результатів - я не міг змусити ні MTP, ні PTP добре працювати з моєю установкою Kubuntu.
Натан Осман

Сподіваємось, покращиться новітні версії Ubuntu. Я дуже впевнений у цьому. В основному я використовую ADB в командному рядку (яким я дуже багато користуюся), тому зараз це для мене найшвидший шлях. Я іноді також використовую "bluetooth-sendto деякий файл".
ce4

3

Ви можете використовувати adb та передачу за допомогою команд adb pull / push.

Не впевнений, який дистрибутив Linux ви використовуєте, але я виявив, що це говорить про те, що MTP упакований і доступний для ubuntu, хоча пакет, який називається mtp-tools .

Також зауважте, що це не характерно для android 3.x / 4.x, це справедливо для будь-яких пристроїв, на яких працює 3.x / 4.x, у яких відсутня зовнішня sdcard. Якщо на пристрої є слот для sdcard, ви зможете змонтувати пристрій, як у попередніх версіях Android.


2

mpfs - файлова система FUSE, яка може монтувати Nexus у вашій системі.

mtpfs -o allow_other /media/MOUNTPOINT

Будемо це встановити для вас. Для демонтажу просто мантажуйте / медіа / MOUNTPOINT


0

Інший варіант - WebDAV .

Налаштування сервера Android WebDAV

На своєму запасі Nexus 7 я встановив сервер WebDAV , відкрив його, натиснув на кнопку запуску і одразу зміг побачити свою /storage/sdcardпапку у своєму веб-браузері за URL-адресою, відображеною програмою, тобтоhttp://192.168.x.y:8080

Зауважте, що за допомогою сервера WebDAV у вас також є можливість вибрати Root (/) або DCIM , а також SdCard як корінь WebDAV .

Використання сервера WebDAV через Nautilus

У Nautilus я вибрав "Підключитися до сервера ..." у меню "Файл", вибрав "WebDAV (HTTP)", ввів 192.168.x.yяк сервер і 8080як порт, і натиснув на Connect.

Навігація по ієрархії каталогів відбувається повільніше, ніж доступ до інших мережевих спільних ресурсів, але не безпідставний. Копіювання одного 42-мегабайтного файлу через Nautilus зайняло близько 12 секунд, тому 3,6 МБ / с.

Монтаж накопичувача WebDAV з командного рядка

Я встановив davfs2 і змонтував свою частку, /mntвикористовуючи команду:

sudo mount -t davfs http://192.168.x.y:8080 /mnt

Скопіювавши той самий файл 42 Мб, але з більш точним терміном, потрібно 12,88 секунди або 3,24 МБ / с.

$ time cp music.fsb /tmp

real    0m12.880s
user    0m0.002s
sys     0m0.143s

Коваджі

  • Доступ до WebDAV не захищено . Навіть якщо ви встановите пароль для спільної доступу до WebDAV, з'єднання все одно httpне є https, тому воно не шифрується. Використовуйте WebDAV лише в захищеній мережі Wi-Fi і, звичайно, не вмикайте сервер WebDAV, поки ви перебуваєте в Інтернет-кафе або іншому незахищеному Wi-Fi.

0

Ви можете використовувати протокол FTP на швидкості usb-кабелю за допомогою цього додатка (не те, що для нього потрібен adb, але після налаштування з'єднання / передачі adb швидко та безболісно, ​​і ви навіть можете переглядати файли у вашому улюбленому файловому менеджері.

https://play.google.com/store/apps/details?id=com.theolivetree.ftpserver

інструкції містяться в описі магазину ігор.


0

Робота з MTP на Ubuntu для Galaxy Nexus, Nexus 7 та Acer A500 З чого почати.

Я знайшов деякі інструкції щодо Nexus 7 (який я щойно привіз) на цьому сайті Ubuntu 12.04 - Automount Nexus 7 в режимі MTP. Вся вдячність автору цієї сторінки за те, що він розібрався. Інструкції, які я маю нижче, походять з цього веб-сайту, поширюються на команди, якщо ви хочете отримати більше пояснень, див. Вищевказаний сайт.

Я використовував Ubuntu 12.10 і конфігурував для своїх Nexus 7, Galaxy Nexus та Acer A500. Інструкції

Налаштуйте FUSE

Змініть /etc/fuse.conf, щоб його прочитали всі ..

# sudo chmod a+r /etc/fuse.conf

Редагуйте /etc/fuse.conf, щоб видалити коментар # з user_allow_other, щоб типовий fuse.conf виглядав як

# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other

Складіть і встановіть go_mtp

# sudo apt-get install libmtp-dev golang 
# mkdir /tmp/go
# export GOPATH=/tmp/go
# go get github.com/hanwen/go-mtpfs
# sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs
# sudo chmod a+x /usr/local/sbin/go-mtpfs

Створіть точки монтажу

Use the following as you need..
# sudo mkdir /media/Nexus7
# sudo chmod 777 /media/Nexus7
# sudo mkdir /media/GalaxyNexus
# sudo chmod 777 /media/GalaxyNexus
# sudo mkdir /media/A500
# sudo chmod 777 /media/A500

Налаштування правил udev

Скористайтеся улюбленим редактором і створіть наступний файл (видаліть будь-які інші правила Android Android udev, з якими ви могли б експериментувати спочатку).

# sudo vi /etc/udev/rules.d/99-android.rules

Вставте наступний вміст. ви можете видалити правила, які вам не потрібні. На двох пристроях Nexus схожі ідентифікатори завантажувача та відновлення. ПРИМІТКА. Вам потрібно замінити # YOURLOGIN # на ваше ім’я користувача / логін.

# Google Nexus 7 & Galaxy Nexus 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Nexus 7 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Nexus 7 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"


# Google Galaxy Nexus 16 Gb Bootloader & recovery mode
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Galaxy Nexus 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6865", MODE="0666" # PTP media
#SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Galaxy Nexus 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"


# Acer A500 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3201", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Acer A500 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b2", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b1", MODE="0666" # PTP media with USB debug on

# Acer A500 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3341", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", MODE="0666" # MTP media with USB debug on

# Acer A500 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"

# Acer A500 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="remove", RUN+="/bin/umount /media/A500"

ПРИМІТКА: якщо ви використовували gedit і ви редагували файл, вам потрібно видалити 99-android.rules ~, оскільки udev засмутиться ..

Далі перезапустіть udev

# sudo service udev restart

Редагувати / etc / fstab

Add the following to /etc/fstab
DeviceFs(Nexus\0407)        /media/Nexus7         fuse.DeviceFs(Nexus\0407)      allow_other,rw,user,noauto    0    0
DeviceFs(Galaxy\040Nexu)    /media/GalaxyNexus    fuse.DeviceFs(Galaxy\040Nexu)  allow_other,rw,user,noauto    0    0
DeviceFs(A500)              /media/A500           fuse.DeviceFs(A500)            allow_other,rw,user,noauto    0    0

Готово.

Тепер ви можете підключити свої пристрої, і внутрішній накопичувач стане доступним для використання. Слід пам’ятати, що потрібно відключити його перед тим, як відключатись, хоча це, здається, не шкодить.

Примітка: схоже, що ENV {ID_MODEL} для nexus 7 в якийсь момент змінився на Nexus_7 (я думаю, що з оновленням для Android 4.2).

Від http://www.winters.org.nz/android-hints-tips-stuff/working-mtp-on-ubuntu


0

Ну, є дуже корисний інструмент, його назва "Wifi File Transfer". Просто завантажте його з Play Store на свій пристрій Android та встановіть його. Він перетворює ваш мобільний Android на міні-сервер, що дозволяє завантажувати та завантажувати файли з телефону на телефон.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.