You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04无法向Android手机传输文件求助

Ubuntu 22.04无法向Android手机传输文件求助

看起来你遇到的是Ubuntu向Android手机写文件的权限问题,我之前也碰到过类似情况,给你几个实用的排查和解决方法试试:

  • 检查Android手机的USB连接模式
    当你把手机连到PC后,下拉手机状态栏,看看USB连接选项是不是设成了「文件传输(MTP)」模式?有时候默认可能是充电或者其他模式,虽然能读取手机文件,但没办法写入。另外,有些手机会弹出「允许访问设备数据」的权限弹窗,一定要记得点击允许,不然PC端没有写入权限。

  • 调整MTP的udev权限配置
    你已经安装了gmtp,那可以试试手动配置udev规则来解决权限问题:

    1. 创建udev规则文件:
      sudo nano /etc/udev/rules.d/51-android.rules
      
    2. 在文件中添加一行(Infinix的Vendor ID一般是2717,你可以用lsusb命令确认,比如输出里的Bus 001 Device 003: ID 2717:ff48,前面的2717就是Vendor ID):
      SUBSYSTEM=="usb", ATTR{idVendor}=="2717", MODE="0666", GROUP="plugdev"
      
    3. 保存退出后,重新加载udev规则:
      sudo udevadm control --reload-rules && sudo udevadm trigger
      
    4. 把你的用户加入plugdev组:
      sudo usermod -aG plugdev $USER
      

    完成后重启PC或者重新插拔手机,再试试传输文件。

  • 检查手机端的存储权限
    有时候手机本身的存储权限限制也会导致写不进去。你可以去手机设置里找到「应用和权限」(不同品牌路径可能略有不同),看看有没有USB相关的访问权限,确保是允许状态。如果你的手机插了SD卡,也要确认SD卡没有被设为只读模式,不然也无法写入。

  • 尝试用adb命令传输文件
    如果上面的方法都不行,adb工具会更可靠:

    1. 先安装adb:
      sudo apt install android-tools-adb
      
    2. 在手机上开启开发者选项:进入「设置」->「关于手机」->连续点击版本号,直到提示开发者选项已开启;然后进入开发者选项,打开「USB调试」。
    3. 连接手机到PC,在手机上允许USB调试的授权请求。
    4. adb push命令传输文件,比如把PC上的test.txt传到手机根目录:
      adb push ~/test.txt /sdcard/
      
  • 排查KDE Connect的问题
    KDE Connect传不了的话,大概率是手机端的KDE Connect没拿到存储权限。去手机的应用设置里找到KDE Connect,给它开启「读取和写入存储」的权限,然后重新配对PC和手机试试。另外要确保PC和手机在同一个局域网,PC的防火墙没有拦截KDE Connect的端口。

备注:内容来源于stack exchange,提问作者Math Freak

火山引擎 最新活动