MTP経由でコンピューターに接続するAndroid電話があります。これは正常に機能します。 Nautilusでファイルを表示して転送できます。ただし、端末を使用して多数のファイルを移動したいことがよくあり、ファイルシステムツリー内のどこにもデバイスが見つからないようです。 Nautilusはmtp://[usb:003,007]/
として場所を報告しますが、/media
または/mnt
の下にはありません。
誰がそれがどこにあるか知っていますか?
すでに 検出 があるように、マウントポイントは/run/user/$USER/gvfs/
(または/var/run/user/$UID/gvfs
)にあり、使用するプロトコル、接続タイプ、およびアドレスに基づいて名前が付けられます。同じポートであっても、デバイスを再接続するたびに接続アドレスが変わる可能性があるため、これは事態をより難しくします。同じデバイスを2回使用すると、さらに悪化します。
lsusb
を使用して、接続されているすべてのUSBデバイスを端末から表示できます。
$ lsusb | grep Google # Note: This is a Nexus 4
Bus 002 Device 025: ID 18d1:4ee2 Google Inc.
お気づきのとおり、Nautilusはツールチップを介してこの情報も提供します。エンコードされた形式の例があります。 mtp://[usb:002,025]
in /run/user/$USER/gvfs
(または/var/run/user/$UID/gvfs
)in mtp:Host=%5Busb%3A002%2C025%5D
Askerの編集:これには、13.04でデフォルトで利用可能なものよりも新しいバージョンのlibmtpやgvfsが必要と思われます。 Sudo add-apt-repository ppa:langdalepl/gvfs-mtp
を実行し、他のことを行う前に更新します。
編集:PSAはsaucy/13.10以降では不要になり、ファイル名はNautilusの場合と同様にターミナルにリストされます。
2016-01-11の編集:メンテナンスと改善の時間がないため、この回答に以前含まれていたスクリプトを削除しました。あなたはまだ改訂履歴でそれを見つけることができます。
Nexus端末のメモリには次の場所からアクセスできます。
/run/user/$UID/gvfs/mtp*
したがって、$ UIDが1000
の場合、次のいずれかの方法で見つけることができます。
$ cd /run/user/$UID/gvfs/mtp*
または(UIDが1000であると仮定した例の正確な場所)、
$ cd /run/user/1000/gvfs/mtp\:Host=%5Busb%3A001%2C006%5D/
MTP
マウントされたデバイスは通常、次の場所にあります。/run/user/1000/gvfs/
たとえば、Nautilusのアドレスバーにmtp://[usb:001,006]/
と表示されている場合は、次の方法でアクセスできます。
/run/user/1000/gvfs/mtp\:Host=%5Busb%3A001%2C006%5D/
ターミナルでファイルまたはフォルダーをコピーできます:
cd /run/user/1000/gvfs/mtp\:Host=%5Busb%3A001%2C006%5D/
cp -r ~/videos/ .
これはで動作しています:
これを試して:
apt-get install mtpfs
apt-get install mtp-tools
#
yesは1行です(これはoptional)Sudo mkdir -p /media/mtp/phone
Sudo chmod 775 /media/mtp/phone
#
個人的には、パーミッションをNO-eXecuteに制限します#
この時点では、マウントするのに十分なのかわかりません。Sudo mtpfs -o allow_other /media/mtp/phone
ls -lt /media/mtp/phone
出力:
total 0
drwxrwxrwx 2 will will 0 Jan 1 1970 Card
drwxrwxrwx 2 will will 0 Jan 1 1970 Phone
drwxrwxrwx 2 will will 0 Jan 1 1970 Playlists
ls -lt /media/mtp/phone/Card
出力:
total 0
drwxrwxrwx 2 will will 0 Jan 1 1970 Android
drwxrwxrwx 2 will will 0 Jan 1 1970 DCIM
drwxrwxrwx 2 will will 0 Jan 1 1970 LOST.DIR
drwxrwxrwx 2 will will 0 Jan 1 1970 Music
Android電話でSDカードへのアクセスをリストします。 「Playlists」は、プレイリストを.m3uファイルとして含む「/ Playlists」という仮想ディレクトリです。 。 (man mtpfs
ごと)
これでうまくいくようです。覚えておくと便利なコマンド...
Sudo mtpfs -h
...は、デバイスのオプションをリストします。これは、デバイスをマウントする前にのみ機能するようです。したがって、おそらく最初に確認してください。mtp-detect
...は、デバイスに関する多くのstuffを示します(mtp-toolsの一部)。また、携帯電話/デバイス「on」が必要だと思います。スクリーンセーバーがあれば、それを開いてデバイスを接続できます。
USB-sが次のようにマウントされていることに気付きました。
したがって、「mtp」スタブではなく、ユーザー名でマウントする方が合理的かもしれません。また、投稿を確認してください:「 buntuでMTP Androids SDカードをマウントする 」には、いくつかの有用な提案と追加があります。
私はこれらの2つの投稿からリードを取りました。
mount
と入力します。すべてのアクティブなファイルシステムがリストされます。
LG2電話を入手し、Xubuntu 15.10を実行しています。
これは、ユーザーの下でmntディレクトリにデバイスをマウントする方法です。
まず、システムに次のパッケージがインストールされていることを確認してください。
Sudo apt-get install jmtpfs mtp-tools
電話機をMTPデバイスとして接続し、端末で次のコマンドを入力します。
mtp-detect
ファイルuser_allow_other
の/etc/Fuse.conf
のコメントを外します。
ホームディレクトリにディレクトリmnt
を作成します。
mkdir mnt
デバイスをマウントします。
jmtpfs ~/mnt
それでおしまい。これで、デバイスはステップ4で作成されたmnt
ディレクトリの下にマウントされます。
注:不要な手順がいくつかある場合があります。しかし、上記の手順に従うとうまくいきました。
これは問題に対する直接的な答えではありませんが、それでも解決策です。
USB接続で不整合が発生した後、.gvfsとUSBシステムをまとめてバイパスしました。
Androidに簡単なFTPサーバーをインストールしました。 Nautilus/nemo/thunarからサーバーに接続し(選択した方法に応じて、ログインありまたはなしのftpのいずれか)、外に出ます。
フォルダの同期は、OwnCloudおよび/またはBitTorrentSyncを介して処理されます。
また、FTP over wirelessは、USB接続よりもはるかに高速です。
MTPは、FTPやSSHによく似たプロトコルです。ユーザーが要求したときにファイルを取得します。したがって、コンピューターにマウントされたファイルシステムはありません。
マウントされたファイルシステムのように表示するには、mtpfsを使用します。
mtpfs <a_folder_to_mount>
デバイスを指定する必要はありません。接続されているデバイスが1つだけの場合、あいまいさはありません。コンピューターに接続された複数のデバイスでテストしていません。
以下に記載されているgvfs-*
コマンド(たとえばgvfs-cp
、gvfs-move
、...)を使用して、MTP接続Androidデバイス上のファイルを管理できます。 ウィキペディアの記事: GVfs 。
Androidデバイスとのファイル同期のための簡単なCLIユーティリティを作成しました。 https://github.com/DusanMadar/PySyncDroid