Besserer Weg, um Galaxy Nexus (ICS) mit Linux zu verbinden

13

Ich kann mein Galaxy Nexus über das PTP- Protokoll mit meinem Kubuntu-Computer verbinden , aber es ist sehr langsam. Ich habe dieses Interview darüber gelesen, warum das Galaxy Nexus USB-Massenspeicher nicht unterstützt , und ich bin wie angewiesen zu http://www.android.com/filetransfer/ gegangen, aber es gibt keine Möglichkeit, herauszufinden, welche Option dies zulässt Stellen Sie eine Verbindung zum Gerät über einen Linux-Computer und MTP her .

Weiß jemand, wie man MTP oder irgendein anderes Protokoll zum Laufen bringt?

Martyn
quelle

Antworten:

7

Sie können auch mtpfs oder gMTP ausprobieren . Mit mtpfs können Sie das MTP-Gerät als Dateisystem bereitstellen, während gMTP ein eigenständiges Programm ist.

Drüben bei AskUbuntu gibt es eine Antwort , die zeigt, wie man mtpfs benutzt.

Elmicha
quelle
gMTP scheint sehr gut zu funktionieren, wenn ich Fotos von meinem alten Telefon kopiere. Der Versuch, über PTP zu kopieren, war schmerzhaft.
Ryan
1
gMTP ist für mich unbefriedigend. Es ist SEHR langsam und es gibt Fehler mit Musikdateien (es wird versucht, Alben für jede übertragene Datei zu erstellen). gMTP stürzt auch unter Ubuntu häufig ab. Mir gefällt die ADB-Methode besser. Ich benutze auch SSHFS über WiFi und ein paar andere Methoden.
MountainX-for-Monica
6

Ich werde die Idee von Ryan Conrad erweitern:

adb von android-tools geht übrigens.

Ich bevorzuge diese Anleitung, um Eclipse mit android-sdk zu installieren:

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

Die Installation hängt nur von JDK ab. Keine Installation neuer Pakete. Ich persönlich mache die gleichen Schritte (= zwei Ordner irgendwo extrahieren und Eclipse konfigurieren) auf die gleiche Weise auf Ubuntu-, Mint- oder Debian-Distributionen und alles funktioniert einfach.

Nach Abschluss dieser klassischen Anleitung habe ich zwei neue Ordner: Eclipse und Android-SDKS . In den Androiden-SDKs Ordner ./platform-tools/adb ist der Pfad zum adbWerkzeug, das verwendet werden kann push(Upload) und pull(get) Dateien von Android - Gerät , ohne mtpfs oder zusätzliche Halterungen.

Wie adbdas Kommandozeilenprogramm kann es im Handumdrehen automatisiert werden. Außerdem haben Sie die Datei-Explorer- Ansicht von Eclipse , die eine schöne grafische Baumstruktur und eine grundlegende Drag-and-Drop-Oberfläche bietet (vergessen Sie nicht, Ihr Gerät zuerst in der Geräte- Ansicht auszuwählen !).

Das große Manko dieser Methode ist, dass nur das adbTool das Gerät erkennt und darauf zugreifen kann. Der Rest meines Systems, einschließlich Nautilus, sieht das Gerät immer noch nicht. Aber nachdem ich adbmich an Stabilität und Robustheit gewöhnt habe , ist das für mich nicht das Problem.

furikuretsu
quelle
1
adb ist ein Sicherheitsproblem, wenn Sie es ständig aktiviert lassen. Denken Sie daran, dass es keinen Passwortdialog oder ähnliches gibt. Bildschirmsperren und sogar die vollständige Geräteverschlüsselung können umgangen werden. Vor allem, wenn Sie es an unbekannten Orten aufladen (PC im Internetcafé usw.)
ce4
danke für den Hinweis, CE4. Lassen Sie mich dann fragen: Was bedeutet es, an unbekannten Orten auf Android-Speicher zuzugreifen?
Furikuretsu
1
Eigene Antwort zu Bluetooth hinzugefügt :-)
Ce4
6

Sie können Bluetooth verwenden .

Bluetooth FTP (File Transfer Profile) wird von Linux unterstützt und es gibt die Bluetooth File Transfer App, die diese Funktionalität zu Android hinzufügt. Es ist jedoch nicht so schnell (<200kb / s), abhängig von Ihren Bluetooth-Versionen. -

Es gibt ein Sicherungsmodul namens obexfs , hier ist mein Nexus S montiert:

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

Einige Datei-Explorer unterstützen dies direkt über Plugins (nautilus / gnome / kde / ...). Hier sind einige Ubuntu-bezogene Obex-Fragen.

ce4
quelle
1
Diese Antwort verdient mehr Gegenstimmen. Ich konnte weder MTP noch PTP für meine Kubuntu-Installation verwenden.
Nathan Osman
Mit neueren Ubuntu-Versionen wird es hoffentlich besser. Ich bin sehr zuversichtlich. Ich benutze ADB meistens auf der Kommandozeile (was ich sehr oft benutze), daher ist dies momentan der schnellste Weg für mich. Ich benutze manchmal auch "Bluetooth-sendto some-file".
ce4
3

Sie können adb verwenden und mit den adb-Befehlen pull / push übertragen.

Nicht sicher, was Distribution von Linux Sie verwenden, aber ich fand dies , das sagt MTP verpackt und für ubuntu obwohl ein Paket namens mtp-tools .

Beachten Sie auch, dass dies nicht spezifisch für Android 3.x / 4.x ist. Dies gilt für alle Geräte, auf denen 3.x / 4.x ohne externe SD-Karte ausgeführt wird. Wenn das Gerät über einen SD-Kartensteckplatz verfügt, können Sie das Gerät wie in früheren Android-Versionen einbinden.

Ryan Conrad
quelle
2

mpfs ist ein FUSE-basiertes Dateisystem, das den Nexus auf Ihrem System einbinden kann.

mtpfs -o allow_other /media/MOUNTPOINT

Wird es für Sie montieren. Zum Abmelden einfach umount / media / MOUNTPOINT

Stsquad
quelle
0

Eine weitere Option ist WebDAV .

Einrichten eines Android WebDAV-Servers

Auf meinem Standard-Nexus 7 habe ich den WebDAV-Server installiert , geöffnet, auf die Startschaltfläche geklickt und konnte meinen /storage/sdcardOrdner sofort in meinem Webbrowser unter der von der Anwendung angezeigten URL anzeigen, d. Hhttp://192.168.x.y:8080

Beachten Sie, dass Sie bei WebDAV Server auch die Option haben, Root (/) oder DCIM sowie SdCard als WebDAV- Root auszuwählen .

Verwendung des WebDAV-Servers über Nautilus

In Nautilus habe ich "Mit Server verbinden ..." aus dem Menü "Datei" ausgewählt, "WebDAV (HTTP)" ausgewählt, 192.168.x.yals Server und 8080als Port eingegeben und auf "Verbinden" geklickt.

Das Navigieren durch die Verzeichnishierarchie ist langsamer als das Zugreifen auf andere Netzwerkfreigaben, jedoch nicht unerheblich. Das Kopieren einer einzelnen 42-MB-Datei über Nautilus dauerte ungefähr 12 Sekunden, also 3,6 MB / s.

Mounten eines WebDAV-Laufwerks über die Befehlszeile

Ich habe davfs2 installiert und meine Freigabe /mntmit dem folgenden Befehl gemountet :

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

Das Kopieren derselben 42-MB-Datei, jedoch mit genauerer zeitlicher Abstimmung, dauerte 12,88 s oder 3,24 MB / s.

$ time cp music.fsb /tmp

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

Vorbehalte

  • Der WebDAV-Zugriff ist nicht sicher . Auch wenn Sie ein Kennwort für die WebDAV-Freigabe festlegen, wird die Verbindung httpnicht hergestellt https, sodass sie nicht verschlüsselt wird. Verwenden Sie WebDAV nur in einem sicheren WLAN-Netzwerk und aktivieren Sie den WebDAV-Server auf keinen Fall, während Sie sich in einem Internetcafé oder einem anderen ungesicherten WLAN befinden.
Mark Booth
quelle
0

Sie können das FTP-Protokoll mit dieser App mit USB-Kabelgeschwindigkeit verwenden (nicht, dass hierfür ADB erforderlich ist, aber nachdem Sie ADB eingerichtet haben, ist das Verbinden / Übertragen schnell und problemlos und Sie können die Dateien sogar in Ihrem bevorzugten Dateimanager anzeigen.

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

Anweisungen finden Sie in der Beschreibung des Spielgeschäfts.

Andrey Losev
quelle
0

Arbeiten mit MTP unter Ubuntu für Galaxy Nexus, Nexus 7 und Acer A500.

Ich habe auf dieser Site eine Anleitung für das Nexus 7 (das ich gerade mitgebracht hatte) Ubuntu 12.04 - Automount Nexus 7 im MTP-Modus gefunden. Wir danken dem Autor dieser Seite, dass er es herausgefunden hat. Die Anweisungen, die ich unten habe, kommen von dieser Site, werden zu den Befehlen getrimmt, wenn Sie mehr Erklärung sehen möchten, die oben genannte Site.

Ich habe Ubuntu 12.10 verwendet und für mein Nexus 7, Galaxy Nexus und Acer A500 konfiguriert. Anleitung

FUSE konfigurieren

Ändern Sie /etc/fuse.conf so, dass es von allen gelesen wird.

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

Bearbeiten Sie /etc/fuse.conf, um den Kommentar # von user_allow_other zu entfernen, sodass die Standard-fuse.conf wie folgt aussieht

# 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

Kompilieren und installieren Sie 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

Einhängepunkt (e) erstellen

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

Richten Sie udev-Regeln ein

Verwenden Sie Ihren bevorzugten Editor und erstellen Sie die folgende Datei (entfernen Sie alle anderen Android-Udev-Regeln, mit denen Sie möglicherweise zuerst experimentiert haben).

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

Fügen Sie den folgenden Inhalt ein. Sie können nicht benötigte Regeln entfernen. Die beiden Nexus-Geräte scheinen die gleichen IDs für den Bootloader und die Wiederherstellung zu haben. HINWEIS: Sie müssen # YOURLOGIN # durch Ihren Benutzernamen / Login ersetzen.

# 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"

HINWEIS: Wenn Sie gedit verwendet haben und die Datei bearbeitet haben, müssen Sie 99-android.rules ~ entfernen, da sich udev aufregt.

Starten Sie als nächstes udev neu

# sudo service udev restart

Bearbeiten Sie / 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

Fertig.

Sie können nun Ihre Geräte anschließen und der interne Speicher steht zur Verfügung. Denken Sie daran, die Verbindung zu trennen, bevor Sie sie trennen. Dies scheint jedoch keinen Schaden zu verursachen.

Hinweis: Es scheint, dass das ENV {ID_MODEL} für das Nexus 7 irgendwann auf Nexus_7 geändert wurde (ich denke mit dem Android 4.2 Update).

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

Abram
quelle
0

Nun, es gibt ein sehr nützliches Tool, dessen Name "Wifi File Transfer" ist. Laden Sie es einfach aus dem Play Store auf Ihr Android-Gerät herunter und installieren Sie es. Es schaltet Ihr Android-Handy auf einen Mini-Server, mit dem Sie Dateien von und auf Ihr Telefon herunterladen und hochladen können.

Shakalex
quelle