12.10から13.04にアップグレードした後、Google NexusをUbuntuマシンに接続すると問題が発生します。
私はこのスクリプトをインターネット上のどこかで見つけましたが、今は動かないようです:
#!/bin/bash
if [ `lsusb |grep Google |wc -l` == 0 ]; then
echo "plug in the device"
exit 1
fi
if [ `dpkg -l mtpfs |wc -l` == "0" ]; then
Sudo apt-get update && Sudo apt-get install mtpfs
fi
rules_file=/etc/udev/rules.d/60-Android.rules
if [ ! -f $rules_file ]; then
vp=`lsusb|grep Google|cut -d " " -f 6`
vendor=`echo $vp | cut -d ':' -f 1`
product=`echo $vp | cut -d ':' -f 2`
rule="SUBSYSTEM==\"usb\", ATTR{idVendor}==\"$vendor\", ATTR{idProduct}==\"$product\", MODE=\"0600\", GROUP=\"plugdev\" OWNER=\"$USER\""
Sudo bash -c "echo $rule > $rules_file"
fi
mount_point=/media/nexus
if [ ! -d $mount_point ]; then
Sudo mkdir $mount_point
Sudo chmod 775 $mount_point
fi
Sudo mtpfs -o allow_other $mount_point
それを起動した後、私は得る:
Unable to open ~/.mtpz-data for reading, MTPZ disabled.Listing raw device(s)
Device 0 (VID=xxxx and PID=yyyy) is a Google Inc (for LG Electronics/Samsung) Nexus 4/10 (MTP).
Found 1 device(s):
Google Inc (for LG Electronics/Samsung): Nexus 4/10 (MTP) (xxxx:yyyy) @ bus 2, dev 4
Attempting to connect device
ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
LIBMTP libusb: Attempt to reset device
Android device detected, assigning default bug flags
Error 1: Get Storage information failed.
Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
Error 2: Error 02fe: PTP: Protocol error, data expected
Listing File Information on Device with name: (NULL)
LIBMTP_Get_Storage() failed:-1
MTPを更新してみてください?
Sudo add-apt-repository ppa:langdalepl/gvfs-mtp
Sudo apt-get update
次に、Software Updater(以前はUpdate Managerと呼ばれていました)を起動し、利用可能な更新をインストールします
13.04では、外部スクリプトを使用する必要はありません。また、とにかくmtpfs自体はNexus 4のような最新のAndroidデバイスでは動作しません。
NautilusでデフォルトのUnityデスクトップを使用していると仮定すると、デバイスを接続するだけで十分であり、Nautilusに表示され、デバイスを参照したりファイルをコピーしたりできます。
通常のアプリケーションがデバイス上のファイルを直接開くことができるように、ファイルへのフルアクセスを取得する場合は、 here のように、新しいバージョンのgvfsが必要です。