Cara yang lebih baik untuk menghubungkan Galaxy Nexus (ICS) ke Linux

13

Saya dapat menghubungkan Galaxy Nexus saya ke mesin Kubuntu saya menggunakan protokol PTP , tetapi sangat lambat. Saya telah membaca wawancara ini tentang mengapa Galaxy Nexus tidak mendukung penyimpanan Mass USB , dan saya telah mengunjungi http://www.android.com/filetransfer/ seperti yang diinstruksikan tetapi tidak ada cara saya dapat melihat yang akan memungkinkan saya untuk terhubung ke perangkat menggunakan mesin linux dan MTP .

Adakah yang tahu cara mendapatkan MTP, atau protokol lain, berfungsi?

Martyn
sumber

Jawaban:

7

Anda juga dapat mencoba mtpfs atau gMTP . mtpfs memungkinkan untuk memasang perangkat MTP sebagai sistem file, sementara gMTP adalah program mandiri.

Selama di AskUbuntu ada jawaban yang menunjukkan cara menggunakan mtpfs.

elmicha
sumber
gMTP tampaknya bekerja dengan sangat baik bagi saya untuk menyalin foto dari ponsel lama saya. Mencoba menyalin melalui PTP itu menyakitkan.
Ryan
1
gMTP tidak memuaskan bagi saya. Ini SANGAT lambat dan memberikan kesalahan pada file musik (mencoba membuat album untuk setiap file yang ditransfer). gMTP juga sering crash di Ubuntu. Saya lebih suka metode ADB. Saya juga menggunakan SSHFS melalui WiFi dan beberapa metode lainnya.
MountainX
6

Saya akan memperluas ide Ryan Conrad:

adb dari android-tools adalah caranya.

Saya lebih suka mengikuti panduan ini untuk menginstal Eclipse dengan android-SDK:

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

Instalasi hanya tergantung pada JDK. Tidak menginstal paket baru. Saya secara pribadi melakukan beberapa langkah yang sama (= mengekstraksi dua folder di mana saja dan mengkonfigurasi gerhana) dengan cara yang sama di Ubuntu, distribusi Mint atau Debian dan semuanya hanya berfungsi.

Setelah menyelesaikan panduan klasik ini, saya memiliki dua folder baru: eclipse dan android-sdks . Dalam folder android-sdks ./platform-tools/adb adalah path to adbtool, yang dapat digunakan untuk push(mengunggah) dan pull(mendapatkan) file dari perangkat android — tanpa mtpfs atau mount tambahan.

Seperti halnya adbprogram command-line, ia dapat diotomatiskan secara sekejap. Selain itu, Anda memiliki tampilan File Explorer Eclipse , yang menyediakan struktur pohon grafis yang bagus dan antarmuka drag-and-drop dasar (jangan lupa untuk memilih perangkat Anda dalam tampilan Perangkat terlebih dahulu!).

Kelemahan besar dari metode ini adalah bahwa hanya adbalat yang melihat perangkat dan dapat mengaksesnya. Sisa sistem saya, termasuk Nautilus misalnya, masih tidak melihat perangkat. Tetapi setelah terbiasa dengan stabilitas dan ketahanan adbitu bukan masalah bagi saya.

furikuretsu
sumber
1
adb adalah masalah keamanan jika Anda terus mengaktifkannya. Ingatlah bahwa tidak ada dialog frasa sandi atau apa pun. Seseorang dapat melewati kunci layar dan bahkan enkripsi perangkat penuh. Terutama jika Anda
men-
terima kasih atas perhatiannya, ce4. Izinkan saya bertanya: apa artinya mengakses penyimpanan android yang harus kita gunakan di lokasi yang tidak diketahui?
furikuretsu
1
menambahkan jawaban sendiri tentang bluetooth :-)
ce4
6

Anda bisa menggunakan bluetooth .

Bluetooth FTP (profil transfer file) didukung oleh Linux dan ada aplikasi Transfer File Bluetooth yang menambahkan fungsionalitas ini ke android. Namun tidak secepat itu (<200kb / s) tergantung pada versi bluetooth Anda. -

Ada modul sekering yang disebut obexfs , inilah Nexus S saya yang terpasang:

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

Beberapa file explorer mendukungnya melalui plugin secara langsung (nautilus / gnome / kde / ...) Berikut adalah beberapa pertanyaan obex terkait Ubuntu.

ce4
sumber
1
Jawaban ini layak mendapatkan lebih banyak upvotes - saya tidak bisa mendapatkan MTP atau PTP untuk bekerja dengan baik dengan instalasi Kubuntu saya.
Nathan Osman
Semoga akan lebih baik dengan rilis Ubuntu yang lebih baru. Saya sangat yakin tentang ini. Saya kebanyakan menggunakan ADB pada commandline (yang saya gunakan banyak), jadi ini adalah jalur tercepat untuk saya saat ini. Saya juga terkadang menggunakan "bluetooth-sendto some-file".
ce4
3

Anda dapat menggunakan adb dan mentransfer menggunakan perintah adb pull / push.

Tidak yakin apa distro linux yang Anda gunakan, tapi saya menemukan ini yang mengatakan MTP dikemas dan tersedia untuk ubuntu melalui paket yang disebut mtp-tools .

Perhatikan juga bahwa ini tidak khusus untuk android 3.x / 4.x, ini berlaku untuk semua perangkat yang menjalankan 3.x / 4.x yang tidak memiliki sdcard eksternal. Jika perangkat memiliki slot sdcard, Anda akan dapat memasang perangkat seperti di versi Android sebelumnya.

Ryan Conrad
sumber
2

mpfs adalah sistem file berbasis FUSE yang dapat memasang Nexus pada sistem Anda.

mtpfs -o allow_other /media/MOUNTPOINT

Akan memasangnya untuk Anda. Untuk meng-unmount cukup umount / media / MOUNTPOINT

stsquad
sumber
0

Pilihan lain adalah WebDAV .

Menyiapkan server Android WebDAV

Pada stok saya Nexus 7, saya menginstal WebDAV Server , membukanya, mengklik tombol start dan segera dapat melihat /storage/sdcardfolder saya di browser web saya di URL yang ditampilkan oleh aplikasi, yaituhttp://192.168.x.y:8080

Perhatikan bahwa dengan WebDAV Server , Anda juga memiliki opsi untuk memilih Root (/) atau DCIM serta SdCard sebagai root WebDAV .

Menggunakan server WebDAV via Nautilus

Di Nautilus saya memilih "Sambungkan ke server ..." dari menu File, pilih "WebDAV (HTTP)", dimasukkan 192.168.x.ysebagai server dan 8080sebagai port dan klik Sambungkan.

Menavigasi melalui hierarki direktori lebih lambat daripada mengakses share jaringan lainnya, tetapi tidak dapat dibatalkan. Menyalin satu file 42MB melalui Nautilus membutuhkan waktu sekitar 12 detik, jadi 3,6MB / s.

Memasang drive WebDAV dari baris perintah

Saya menginstal davfs2 dan me -mount share saya /mntmenggunakan perintah:

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

Menyalin file 42MB yang sama tetapi dengan waktu yang lebih tepat, mengambil 12.88s atau 3.24MB / s.

$ time cp music.fsb /tmp

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

Peringatan

  • Akses WebDAV tidak aman . Bahkan jika Anda menetapkan kata sandi pada berbagi WebDAV, koneksi masih httpbelum https, sehingga tidak dienkripsi. Hanya gunakan WebDAV pada jaringan wifi yang aman dan tentu saja tidak mengaktifkan server WebDAV saat Anda berada di warnet atau wifi tidak aman lainnya.
Mark Booth
sumber
0

Anda dapat menggunakan protokol FTP dengan kecepatan kabel usb dengan aplikasi ini (bukan berarti harus memiliki adb, tetapi setelah Anda mengatur adb, penghubung / pemindahan cepat dan tidak menyakitkan, dan Anda bahkan dapat melihat file di pengelola file favorit Anda.

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

instruksi ada di deskripsi play store.

Andrey Losev
sumber
0

Bekerja MTP di Ubuntu untuk Galaxy Nexus, Nexus 7 dan Acer A500 Di mana untuk memulai.

Saya menemukan beberapa instruksi untuk Nexus 7 (yang baru saja saya bawa) di situs ini Ubuntu 12.04 - Automount Nexus 7 dalam mode MTP. Semua kredit untuk penulis halaman itu untuk mencari tahu. Instruksi yang saya miliki di bawah ini berasal dari situs ini, dipangkas untuk perintah, jika Anda ingin penjelasan lebih lanjut lihat situs di atas.

Saya menggunakan Ubuntu 12.10, dan telah mengkonfigurasi untuk Nexus 7, Galaxy Nexus dan Acer A500 saya. Instruksi

Konfigurasikan FUSE

Ubah /etc/fuse.conf agar dibaca oleh semua ..

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

Edit /etc/fuse.conf untuk menghapus komentar # dari user_allow_other sehingga fuse.conf default akan terlihat seperti

# 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

Kompilasi dan instal 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

Buat Mount Point

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

Siapkan aturan udev

Gunakan editor favorit Anda dan buat file berikut (hapus aturan udev android lainnya yang mungkin telah Anda coba terlebih dahulu).

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

Tempel di konten berikut. Anda dapat menghapus aturan yang tidak Anda butuhkan, Kedua perangkat nexus ini tampaknya memiliki id yang sama untuk bootloader dan pemulihan. CATATAN: Anda perlu mengganti # YOURLOGIN # dengan nama pengguna / login Anda.

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

CATATAN: jika Anda menggunakan gedit dan Anda telah mengedit file, Anda harus menghapus 99-android.rules ~ karena udev akan marah ..

Selanjutnya, restart udev

# sudo service udev restart

Edit / 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

Jadi.

Anda sekarang dapat menghubungkan perangkat Anda dan penyimpanan internal akan tersedia untuk digunakan, Anda harus ingat untuk mencabut pemasangan sebelum melepaskan koneksi meskipun sepertinya tidak ada salahnya ..

Catatan: tampaknya ENV {ID_MODEL} untuk nexus 7 berubah menjadi Nexus_7 di beberapa titik (saya pikir dengan pembaruan Android 4.2) ..

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

Abram
sumber
0

Nah, Ada alat yang sangat berguna, namanya "Wifi File Transfer". Cukup unduh dari Play Store di perangkat Android Anda dan instal. Ternyata ponsel Android Anda di server mini yang memungkinkan Anda untuk mengunduh dan mengunggah file dari dan ke telepon Anda.

Shakalex
sumber