Cách tốt hơn để kết nối Galaxy Nexus (ICS) với Linux


13

Tôi có thể kết nối Galaxy Nexus của mình với máy Kubfox bằng giao thức PTP , nhưng nó rất chậm. Tôi đã đọc cuộc phỏng vấn này về lý do tại sao Galaxy Nexus không hỗ trợ bộ lưu trữ USB và tôi đã truy cập http://www.android.com/filetransfer/ như được hướng dẫn nhưng không có cách nào tôi có thể thấy điều đó sẽ cho phép tôi kết nối với thiết bị bằng máy linux và MTP .

Có ai biết làm thế nào để có được MTP, hoặc bất kỳ giao thức nào khác, làm việc không?

Câu trả lời:


7

Bạn cũng có thể thử mtpfs hoặc gMTP . mtpfs cho phép gắn thiết bị MTP như một hệ thống tập tin, trong khi gMTP là một chương trình độc lập.

Trên AskUbfox có câu trả lời cho biết cách sử dụng mtpfs.


gMTP dường như hoạt động rất tốt để tôi sao chép ảnh từ điện thoại cũ. Cố gắng sao chép qua PTP là đau đớn.
Ryan

1
gMTP là không thỏa đáng đối với tôi. Nó RẤT chậm và nó báo lỗi với các tệp nhạc (nó cố gắng tạo album cho mỗi tệp được chuyển). gMTP cũng gặp sự cố thường xuyên trong Ubuntu. Tôi thích phương pháp ADB hơn. Tôi cũng sử dụng SSHFS qua WiFi và một vài phương pháp khác.
MountainX-for-Monica

6

Tôi sẽ mở rộng ý tưởng của Ryan Conrad:

adb từ các công cụ Android là cách.

Tôi thích làm theo hướng dẫn này để cài đặt Eclipse với android-sdk:

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

Cài đặt chỉ phụ thuộc vào JDK. Không cài đặt các gói mới. Cá nhân tôi thực hiện cùng một vài bước (= trích xuất hai thư mục ở bất cứ đâu và định cấu hình nhật thực) theo cách tương tự trên các bản phân phối Ubuntu, Mint hoặc Debian và tất cả chỉ hoạt động.

Sau khi hoàn thành hướng dẫn cổ điển này, tôi có hai thư mục mới: nhật thựcandroid-sdks . Trong thư mục android-sdks ./pl platform-tools / adb là đường dẫn đến adbcông cụ, có thể được sử dụng để push(tải lên) và pull(lấy) các tệp từ thiết bị Android mà không cần mtpfs hoặc gắn kết bổ sung.

Như adblà chương trình dòng lệnh, nó có thể được tự động hóa trong nháy mắt. Hơn nữa, bạn có khung nhìn File Explorer của Eclipse , cung cấp cấu trúc cây đồ họa đẹp và giao diện kéo và thả cơ bản (trước tiên đừng quên chọn thiết bị của bạn trong dạng xem Thiết bị !).

Thiếu sót lớn của phương pháp này là chỉ có adbcông cụ nhìn thấy thiết bị và có thể truy cập nó. Phần còn lại của hệ thống của tôi, bao gồm Nautilus chẳng hạn, vẫn không thấy thiết bị. Nhưng sau khi quen dần với sự ổn định và mạnh mẽ adbthì đó không phải là vấn đề với tôi.


1
adb là một vấn đề bảo mật nếu bạn tiếp tục kích hoạt nó. Hãy nhớ rằng không có đối thoại mật khẩu hoặc bất cứ điều gì. Người ta có thể bỏ qua khóa màn hình và thậm chí mã hóa thiết bị đầy đủ. Đặc biệt nếu bạn
tình cờ

cảm ơn đã thông báo, ce4. Cho tôi hỏi: chúng ta nên sử dụng phương tiện nào để truy cập bộ nhớ Android ở những vị trí không xác định?
furikuretsu

1
đã thêm câu trả lời riêng về bluetooth :-)
ce4

6

Bạn có thể sử dụng bluetooth .

Bluetooth FTP (hồ sơ truyền tệp) được Linux hỗ trợ và có ứng dụng Chuyển tệp Bluetooth có thêm chức năng này cho Android. Tuy nhiên, tốc độ đó không nhanh (<200kb / giây) tùy thuộc vào phiên bản bluetooth của bạn. -

Có một mô-đun cầu chì được gọi là obexfs , đây là Nexus S của tôi được gắn:

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

Một số trình thám hiểm tệp hỗ trợ trực tiếp thông qua các plugin (nautilus / gnome / kde / ...) Dưới đây là một số câu hỏi obex liên quan đến Ubuntu.


1
Câu trả lời này xứng đáng nhận được nhiều ưu đãi hơn - Tôi không thể để MTP hoặc PTP hoạt động tốt với cài đặt Kubfox của mình.
Nathan Osman

Hy vọng nó sẽ tốt hơn với các bản phát hành Ubuntu mới hơn. Tôi thực sự tự tin về điều này. Tôi chủ yếu sử dụng ADB trên dòng lệnh (mà tôi sử dụng rất nhiều), vì vậy đây là con đường nhanh nhất đối với tôi ngay bây giờ. Thỉnh thoảng tôi cũng sử dụng "bluetooth-sendto some-file".
ce4

3

Bạn có thể sử dụng adb và chuyển bằng các lệnh kéo / đẩy adb.

Không chắc chắn về bản phân phối của linux bạn đang sử dụng, nhưng tôi thấy điều này nói rằng MTP được đóng gói và có sẵn cho ubfox mặc dù một gói được gọi là mtp-tools .

Cũng lưu ý rằng điều này không dành riêng cho Android 3.x / 4.x, điều này đúng với mọi thiết bị chạy 3.x / 4.x thiếu sdcard bên ngoài. Nếu thiết bị có khe cắm thẻ sdcard, bạn sẽ có thể gắn thiết bị như trong các phiên bản trước của Android.


2

mpfs là một hệ thống tệp dựa trên FUSE có thể gắn Nexus trên hệ thống của bạn.

mtpfs -o allow_other /media/MOUNTPOINT

Sẽ gắn kết nó cho bạn. Để ngắt kết nối chỉ đơn giản là umount / media / MOUNTPOINT


0

Một tùy chọn khác là WebDAV .

Thiết lập máy chủ Android WebDAV

Trên kho Nexus 7 của tôi, tôi đã cài đặt Máy chủ WebDAV , mở nó, nhấp vào nút bắt đầu và ngay lập tức có thể thấy /storage/sdcardthư mục của tôi trong trình duyệt web của tôi tại URL được hiển thị bởi ứng dụng, tức làhttp://192.168.x.y:8080

Lưu ý rằng với Máy chủ WebDAV , bạn cũng có tùy chọn chọn Root (/) hoặc DCIM cũng như SdCard làm gốc WebDAV .

Sử dụng máy chủ WebDAV qua Nautilus

Trong Nautilus, tôi đã chọn "Kết nối với máy chủ ..." từ menu Tệp, chọn "WebDAV (HTTP)", được nhập 192.168.x.ydưới dạng máy chủ và 8080dưới dạng cổng và nhấp vào Kết nối.

Điều hướng qua hệ thống phân cấp thư mục chậm hơn so với truy cập các chia sẻ mạng khác, nhưng không thể thực hiện được. Sao chép một tệp 42 MB qua Nautilus mất khoảng 12 giây, vì vậy 3,6 MB / s.

Gắn ổ đĩa WebDAV từ dòng lệnh

Tôi đã cài đặt davfs2 và gắn kết chia sẻ của mình khi /mntsử dụng lệnh:

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

Sao chép cùng một tệp 42 MB nhưng với thời gian chính xác hơn, mất 12,88 giây hoặc 3,24 MB / s.

$ time cp music.fsb /tmp

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

Hãy cẩn thận

  • Truy cập WebDAV không an toàn . Ngay cả khi bạn đặt mật khẩu trên chia sẻ WebDAV, kết nối vẫn httpkhông được https, vì vậy nó không được mã hóa. Chỉ sử dụng WebDAV trên mạng wifi an toàn và chắc chắn không kích hoạt máy chủ WebDAV khi bạn đang ở trong quán cà phê internet hoặc wifi không bảo mật khác.

0

Bạn có thể sử dụng giao thức FTP ở tốc độ cáp usb với ứng dụng này (không phải là nó yêu cầu phải có adb, nhưng sau khi bạn thiết lập kết nối / chuyển adb thì nhanh chóng và không đau, thậm chí bạn có thể xem các tệp trong trình quản lý tệp yêu thích của mình.

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

hướng dẫn có trong mô tả cửa hàng chơi.


0

Làm việc MTP trên Ubuntu cho Galaxy Nexus, Nexus 7 và Acer A500 Bắt đầu từ đâu.

Tôi đã tìm thấy một số hướng dẫn cho Nexus 7 (mà tôi vừa mang theo) trên trang web này Ubuntu 12.04 - Tự động hóa Nexus 7 ở chế độ MTP. Tất cả tín dụng cho tác giả của trang đó để tìm ra nó. Các hướng dẫn tôi có dưới đây đến từ trang web này, được cắt theo các lệnh, nếu bạn muốn giải thích thêm hãy xem trang web trên.

Tôi đã sử dụng Ubuntu 12.10 và đã định cấu hình cho Nexus 7, Galaxy Nexus và Acer A500 của tôi. Hướng dẫn

Cấu hình cầu chì

Thay đổi /etc/fuse.conf để nó được đọc bởi tất cả ..

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

Chỉnh sửa /etc/fuse.conf để xóa nhận xét # khỏi user_allow_other để fuse.conf mặc định sẽ trông như thế

# 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

Biên dịch và cài đặt 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

Tạo điểm núi

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

Thiết lập quy tắc udev

Sử dụng trình chỉnh sửa yêu thích của bạn và tạo tệp sau (loại bỏ mọi quy tắc udev Android khác mà bạn có thể đã thử nghiệm trước).

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

Dán vào các nội dung sau. bạn có thể xóa các quy tắc bạn không cần, Hai thiết bị nexus dường như có cùng id cho bộ tải khởi động và khôi phục. LƯU Ý: bạn cần thay thế # YourLOGIN # bằng tên người dùng / đăng nhập của bạn.

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

LƯU Ý: nếu bạn đã sử dụng gedit và bạn đã chỉnh sửa tệp, bạn cần xóa 99-android.rules ~ vì udev sẽ khó chịu ..

Tiếp theo, khởi động lại udev

# sudo service udev restart

Chỉnh sửa / 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

Đã kết thúc.

Bây giờ bạn có thể kết nối các thiết bị của mình và bộ nhớ trong sẽ có sẵn để sử dụng, bạn nên nhớ hủy gắn kết trước khi ngắt kết nối mặc dù nó dường như không gây hại gì ..

Lưu ý: có vẻ như ENV {ID_MODEL} cho nexus 7 đã thay đổi thành Nexus_7 tại một số điểm (tôi nghĩ với bản cập nhật Android 4.2) ..

Từ http://www.winters.org.nz/android-hints-tips- ware / work-mtp-on-Ubuntu


0

Chà, có một công cụ rất hữu ích, tên của nó là "Truyền tệp Wifi". Chỉ cần tải xuống từ Play Store trên thiết bị Android của bạn và cài đặt nó. Nó biến điện thoại di động Android của bạn trên một máy chủ mini cho phép bạn tải xuống và tải lên các tệp từ và vào điện thoại của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.