jmtpfs无法正常工作的解决办法
最近,使用jmtpfs从谷歌Pixel 5手机上下载文件时遇到了一些困难。尽管之前可以成功的下载,最新的更新之后便开始报错:“Failed to stat file ‘/run/user/1000/gvfs/mtp:host=%5Busb%3Adisk%2F1926998052465D34%3E/pictures/DSC_0770.JPG’:Operation not supported”。
问题背景
我在一台运行Ubuntu 20.04的笔记本电脑上安装了Gvfs、jmtpfs。每次通过“设备”列表选择手机并勾选文件传输功能后, jmtpfs无法正常工作。在尝试使用adb devices -l
以及mount -t mtp
命令查看相关信息时没有发现任何问题。我甚至怀疑是更新过的某个UI相关的部分或自动访问手机的MTP服务导致了jmtpfs无法正常使用。
通过adbfs解决
幸运的是,找到了一个替代方案:adbfs(https://github.com/spion/adbfs-rootless)。
- 验证环境:
我使用
adb pull
从手机下载文件没有遇到问题,说明ADB与手机的连接是正常的。安装和配置 adbfs:
- 安装命令:
apt-get install adbfs
- 配置可以参考文档或现有设置进行。
发现新线索
在尝试解决jmtpfs问题时,我在进程表中发现了一个名为gvfs-mtp-volume-monitor
的进程。当手机开启文件传输服务时,/run/user/<my-uid>/gvfs/mtp:host=Google_Pixel_5_<phone_id>
目录会出现在文件系统中。这一观察可能解释了为什么jmtpfs无法直接访问设备的原因——由于新的UI变化导致了与旧方法不同的路径管理机制。
总结与进一步行动
鉴于jmtpfs的问题以及adbfs的便利性,个人建议您考虑使用adbfs作为替代方案,以获得更快更稳定的文件传输功能。以下是一些安装和设置adbfs的方法:
- 安装依赖:首先确保您的系统已安装必要的工具。
- 创建挂载点:为新的用户和组创建相应的目录结构。
- 启动服务:配置并启动adbfs,让它在开机时自动运行。
当然,如果您有特定需求或问题,请随时提出,我可以进一步帮助您解决或优化解决方案。希望以上信息能够帮到您!