Ubuntu手机文件系统是否可通过USB连接安装?

Ubuntu手机文件系统是否可以通过USB连接安装在Linux中?

有理由相信这个function会留在这里吗? 对我来说,而不是完整的桌面/手机融合,我很高兴能够使用我的手机作为我存储所有基本数据的地方(如在usb棒中),然后在我的手机上使用它或与我分享笔记本电脑,我需要。

Ubuntu Touch允许您通过MTP协议访问文件系统,但不支持USB大容量存储模式。 在这方面,它类似于较新的Android设备,不太可能改变。 开箱即用,您应该能够使用任何GVFS识别应用程序访问手机上的文件。

许多智能设备已经远离大容量存储模式作为执行文件传输的一种方式,这是一个很好的理由:大容量存储模式涉及暴露块设备,而MTP公开文件系统。

除非专门设计文件系统,否则一次只能有一个操作系统访问底层块设备。 FAT不是针对此用例设计的,这就是支持大容量存储模式的旧款Android手机在通过USB提供之前卸载SD卡的原因。

相比之下,使用MTP,手机是访问底层块设备的唯一选择,而连接的计算机则通过USB进行文件系统级请求(例如列表目录,下载或上传文件等)。 这意味着您可以在连接时继续使用设备。

在带有Ubuntu Touch 15.04(r4)的BQ E5 Ubuntu版本上,我可以卸载外部SD卡并使用脚本massStorage.sh将usb-port切换到大容量存储模式,并使用脚本massStorage.sh将usb-port切换回mtp.sh

massStorage.sh内容:

 #!/bin/sh echo 0 > /sys/class/android_usb/android0/enable cp /sys/class/android_usb/android0/functions /tmp/massStorageFunctions echo mass_storage > /sys/class/android_usb/android0/functions umount /dev/mmcblk1p1 echo /dev/mmcblk1 > /sys/devices/virtual/android_usb/android0/f_mass_storage/lun/file cp /sys/devices/virtual/android_usb/android0/f_mtp/device/idVendor /tmp/massStorageVendor cp /sys/devices/virtual/android_usb/android0/f_mtp/device/idProduct /tmp/massStorageProduct echo 03f0 > /sys/devices/virtual/android_usb/android0/f_mass_storage/device/idVendor echo 5607 > /sys/devices/virtual/android_usb/android0/f_mass_storage/device/idProduct echo 1 > /sys/class/android_usb/android0/enable 

脚本mtp.sh内容:

 #!/bin/sh if [ -f /tmp/massStorageFunctions ]; then echo 0 > /sys/class/android_usb/android0/enable cp /tmp/massStorageFunctions /sys/devices/virtual/android_usb/android0/functions cp /tmp/massStorageVendor /sys/devices/virtual/android_usb/android0/f_mass_storage/device/idVendor cp /tmp/massStorageProduct /sys/devices/virtual/android_usb/android0/f_mass_storage/device/idProduct sudo -u phablet udisksctl mount -b /dev/mmcblk1p1 echo 1 > /sys/class/android_usb/android0/enable fi; 

请注意,供应商和产品ID是从另一个USB大容量存储设备中窃取的。

我已将这些脚本保存在~phablet/bin目录中。 此外,我已经从com.ubuntu.terminal命令行定义了以下用于启动脚本的别名:

 alias u='sudo sh ~phablet/bin/massStorage.sh' alias m='sudo sh ~phablet/bin/mtp.sh' 

您可以在phablet的主目录中的.bashrc -file中设置这些别名。

请注意,您必须输入您的引脚以使用这些脚本分离/附加SD卡。


备注:其他人提出的替代解决方案mtp的一个大问题是它不能从cygwin中获得。 可以在windows中使用mtp,但mtp设备不是作为cygwin所需的驱动器号提供的。 我和Tor Thommesen的用例基本相同,并且发现这个解决方案是将手机的辅助SD卡暴露为大容量存储设备。

除非专门设计文件系统,否则一次只能有一个操作系统访问底层块设备。 FAT不是针对此用例设计的,这就是支持大容量存储模式的旧款Android手机在通过USB提供之前卸载SD卡的原因。

我不明白这一点。 是的,它应该一次只能由一个设备使用,这就是为什么在从计算机访问它之前将其卸载在手机上的原因。 有什么问题? 除非您想在复制文件时从外部MicroSD观看电影。

另外……你不必长时间使用MTP来意识到它不能很好地工作。 后台进程在您预期时不会同步。 您无法看到图像的缩略图。 转移很慢。 另一个POC是在一个良好的“用户体验”的掩盖下推动用户。 与苹果公司用来完全锁定每个人进入他们自己的“生态系统”的论点相同,甚至无法插入MicroSD或自行更换电池。