1.首先安装MTP软件

apt-get install mtpfs libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9

2.编辑/etc/fuse.conf文件

#/etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE)

#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

如上所示取消最后一行的注释

3.查询自己的安卓设备

lsusb
Bus 002 Device 003: ID 17ef:1003 Lenovo Integrated Smart Card Reader
Bus 002 Device 006: ID 05c6:6774 Qualcomm, Inc. 
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 04f2:b221 Chicony Electronics Co., Ltd integrated camera
Bus 001 Device 003: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如上第二行便是我的安卓设备,显示是高通公司记住ID号码05c6和6774

4.添加udev规则

vim /lib/udev/rules.d/69-mtp.rules
# A0001
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6774", SYMLINK+="libmtp-%k", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
vim /etc/udev/rules.d/51-android.rules
ATTR{idVendor}=="05c6", ATTR{idProduct}=="6774", MODE=”0666"

如上第三步得到的ID在这里用上了。

5.重启udev服务

service udev restart

至此,我的一加手机已经可以通过MTP协议连接到ubuntu上面了。值得注意的是以上操作都是在root下完成的。如果root是禁用状态的朋友们请使用sudo命令。如果当前账户不在sudo组里可以参考我的另一个文章,进入recovery模式将该用户添加到sudo组里。