Ubuntu 22.04无法向Android手机传输文件求助
Ubuntu 22.04无法向Android手机传输文件求助
看起来你遇到的是Ubuntu向Android手机写文件的权限问题,我之前也碰到过类似情况,给你几个实用的排查和解决方法试试:
检查Android手机的USB连接模式
当你把手机连到PC后,下拉手机状态栏,看看USB连接选项是不是设成了「文件传输(MTP)」模式?有时候默认可能是充电或者其他模式,虽然能读取手机文件,但没办法写入。另外,有些手机会弹出「允许访问设备数据」的权限弹窗,一定要记得点击允许,不然PC端没有写入权限。调整MTP的udev权限配置
你已经安装了gmtp,那可以试试手动配置udev规则来解决权限问题:- 创建udev规则文件:
sudo nano /etc/udev/rules.d/51-android.rules - 在文件中添加一行(Infinix的Vendor ID一般是
2717,你可以用lsusb命令确认,比如输出里的Bus 001 Device 003: ID 2717:ff48,前面的2717就是Vendor ID):SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev" - 保存退出后,重新加载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger - 把你的用户加入
plugdev组:sudo usermod -aG plugdev $USER
完成后重启PC或者重新插拔手机,再试试传输文件。
- 创建udev规则文件:
检查手机端的存储权限
有时候手机本身的存储权限限制也会导致写不进去。你可以去手机设置里找到「应用和权限」(不同品牌路径可能略有不同),看看有没有USB相关的访问权限,确保是允许状态。如果你的手机插了SD卡,也要确认SD卡没有被设为只读模式,不然也无法写入。尝试用adb命令传输文件
如果上面的方法都不行,adb工具会更可靠:- 先安装adb:
sudo apt install android-tools-adb - 在手机上开启开发者选项:进入「设置」->「关于手机」->连续点击版本号,直到提示开发者选项已开启;然后进入开发者选项,打开「USB调试」。
- 连接手机到PC,在手机上允许USB调试的授权请求。
- 用
adb push命令传输文件,比如把PC上的test.txt传到手机根目录:adb push ~/test.txt /sdcard/
- 先安装adb:
排查KDE Connect的问题
KDE Connect传不了的话,大概率是手机端的KDE Connect没拿到存储权限。去手机的应用设置里找到KDE Connect,给它开启「读取和写入存储」的权限,然后重新配对PC和手机试试。另外要确保PC和手机在同一个局域网,PC的防火墙没有拦截KDE Connect的端口。
备注:内容来源于stack exchange,提问作者Math Freak




