Galaxy Nexus(ICS)をLinuxに接続するより良い方法


13

PTPプロトコルを使用して、Galaxy NexusをKubuntuマシンに接続できますが、本当に遅いです。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 over WiFiおよび他のいくつかの方法も使用しています。
MountainX

6

ライアンコンラッドのアイデアを拡大します。

adb android-toolsからの方法です。

このガイドに従って、android-sdkを使用してEclipseをインストールすることをお勧めします。

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

インストールはJDKのみに依存します。新しいパッケージのインストールはありません。私は個人的に、Ubuntu、Mint、Debianディストリビューションで同じ方法で同じいくつかの手順(= 2つのフォルダーを抽出し、Eclipseを構成する)を行っていますが、すべて正常に機能しています。

この古典的なガイドを完了すると、eclipseandroid-sdksという 2つの新しいフォルダーができます。でアンドロイド-SDKのフォルダ ./platform-tools/adbへのパスであるadbために使用することができますツール、push(アップロード)およびpullAndroidデバイス-なしmtpfsまたは追加のマウントから(GET)ファイル。

なので adbコマンドラインプログラムである、それはちょっとの間で自動化することができます。さらに、EclipseのFile Explorerビューがあります。これは、グラフィカルなツリーファイル構造と基本的なドラッグアンドドロップインターフェイスを提供します(最初にDevicesビューでデバイスを選択することを忘れないでください!)。

この方法の大きな欠点は、adbツールのみがデバイスを認識してアクセスできることです。たとえばNautilusを含む私のシステムの残りの部分は、まだデバイスを認識しません。しかし、安定性と堅牢性に慣れた後adbは、私にとっては問題ではありません。


1
adbは、常に有効にしておくとセキュリティ上の問題になります。パスフレーズのダイアログなどはないことに注意してください。画面ロックやデバイスの完全な暗号化さえもバイパスできます。特に、不明な場所(インターネットカフェのPCなど)で
充電した場合-ce4

通知ありがとうございます、ce4。それでは、不明な場所でAndroidストレージにアクセスするための手段を教えてください。
フリクレ

1
Bluetoothに関する独自の回答を追加しました:-)
ce4

6

bluetoothを使用できます

Bluetooth FTP(ファイル転送プロファイル)はLinuxでサポートされており、この機能をAndroidに追加するBluetoothファイル転送アプリがあります。ただし、Bluetoothのバージョンによってはそれほど高速ではありません(<200kb / s)。–

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
この答えは、より多くの賛成に値します-KubuntuのインストールでMTPまたはPTPをうまく動作させることができませんでした。
ネイサンオスマン

新しいUbuntuリリースでうまくいけばいいのですが。私はこれについて本当に自信があります。私は主にコマンドラインでADBを使用します(これはよく使用します)。これが今の私にとって最速のパスです。また、「bluetooth-sendto some-file」も時々使用します。
ce4

3

adbを使用して、adb pull / pushコマンドを使用して転送できます。

わからないあなたが使用しているLinuxのディストリビューが、私は見つけたものの、このかかわらず、パッケージと呼ばれるUbuntuのためにMTPがパッケージ化されていると言うことと、利用可能にMTP-ツール

また、これはAndroid 3.x / 4.xに固有のものではないことに注意してください。これは、外部SDカードがない3.x / 4.xを実行するすべてのデバイスに当てはまります。デバイスにSDカードスロットがある場合、Androidの以前のバージョンのようにデバイスをマウントできます。


2

mpfsは、システムにNexusをマウントできるFUSEベースのファイルシステムです。

mtpfs -o allow_other /media/MOUNTPOINT

あなたのためにそれをマウントします。アンマウントするには、単に/ media / MOUNTPOINTをアンマウントします


0

別のオプションはWebDAVです。

Android WebDAVサーバーのセットアップ

在庫のNexus 7にWebDAVサーバーをインストールし、それを開き、スタートボタンをクリックすると/storage/sdcard、アプリケーションによって表示されたURLでWebブラウザーのフォルダーをすぐに見ることができました。http://192.168.x.y:8080

注意ことのWebDAVサーバー、あなたはまた、選択するオプション持つルート(/)またはDCIMだけでなく、SDカードのWebDAVなどのルートを

Nautilusを介したWebDAVサーバーの使用

Nautilusでは、[ファイル]メニューから[サーバーに接続...]を選択し、[WebDAV(HTTP)]を選択し192.168.x.yて、サーバーとして入力し、8080ポートとして接続]をクリックしました。

ディレクトリ階層内を移動することは、他のネットワーク共有にアクセスするよりも遅くなりますが、理不尽ではありません。Nautilusを介した単一の42MBファイルのコピーには約12秒かかったため、3.6MB /秒でした。

コマンドラインからWebDAVドライブをマウントする

次のコマンドを使用してdavfs2をインストールし、共有をマウント/mntしました。

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

同じ42MBファイルを、より正確なタイミングでコピーすると、12.88秒または3.24MB /秒かかりました。

$ time cp music.fsb /tmp

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

注意事項

  • WebDAVアクセスは安全ではありません。あなたはWebDAV共有にパスワードを設定しても、接続はまだありhttpませんhttpsので、それは暗号化されません。セキュリティで保護されたwifiネットワークでのみWebDAVを使用し、インターネットカフェまたはその他のセキュリティで保護されていないwifiにいる間はWebDAVサーバーを有効にしないでください。


0

Galaxy Nexus、Nexus 7、Acer A500のUbuntuでのMTPの使用開始場所。

このサイトで、Nexus 7(持ってきたばかり)の手順をいくつか見つけましたUbuntu 12.04-MTPモードでNexus 7を自動マウントします。それを理解するためにそのページの著者にすべてのクレジット。以下の説明はこのサイトからのもので、コマンドに合わせてトリミングされています。詳細については、上記のサイトを参照してください。

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 udevルールを削除します)。

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

次の内容を貼り付けます。不要なルールを削除できます。2つのnexusデバイスは、ブートローダーとリカバリのIDが同じように見えます。注:#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を使用してファイルを編集した場合、udevが混乱するため99-android.rules〜を削除する必要があります。

次に、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

終わった。

これでデバイスを接続でき、内部ストレージを使用できるようになります。何も害はないようですが、切断する前にアンマウントすることを忘れないでください。

注:ネクサス7のENV {ID_MODEL}は、ある時点でNexus_7に変更されたようです(Android 4.2のアップデートで考えられます)。

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


0

さて、非常に便利なツールがあります。その名前は「Wifiファイル転送」です。AndroidデバイスのPlayストアからダウンロードしてインストールするだけです。それはあなたの携帯電話からファイルをダウンロードしたりアップロードしたりすることができるミニサーバー上であなたのアンドロイドモバイルを回します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.