当前位置: 首页 > 工具软件 > Ubuntu Phone > 使用案例 >

如何在Ubuntu下成功连接iPhone设备

易和怡
2023-12-01

由于iTunes和爱思助手等没有对linux开发相对应的软件,导致linux的用户的iPhone连接后并不能做什么事情,以下有很好的解决方法,按照步骤来基本可以实现能够在所选的文件管理器中查看iPhone文件系统。然后,您可以删除或向设备添加文件,以将其视为自己的外部驱动器,底部有Python自动挂载脚本。

1、如果要将iPhone用作外部驱动器,则需要先安装libimobildevice,不需要添加任何其他软件包存储库即可安装libimobiledevice,打开终端窗口并输入:

sudo apt install libimobiledevice6 libimobiledevice-utils

2、以上命令完成后,在终端中输入以下命令,这样可以在iPhone和Ubuntu安装之间建立多个连接。

usbmuxd -f  -v

3、安装iFuse,iFuse软件包允许您在iOS设备上安装和访问文件系统。iFuse可能会与libimobiledevice一起安装,但是如果没有安装,则需要手动安装。

sudo apt install ifuse

4、通过打开Linux终端并键入以下内容来与iPhone配对。

idevicepair pair

5、最后一步,创建挂在文件夹,你可以创建一个文件夹来挂在你的iPhone,首先在根目录下创建一个名为iPhone的文件夹,最后将你的iPhone挂载到/opt/iPhone,文件夹及路径可以随意取

mkdir /opt/iPhone
ifuse /opt/iPhone

6、完成,现在在 /opt/iPhone/ 目录下应该能看到你的iPhone所有用户文件,虽然没有专门软件的GUI界面,但是对于Ubuntu用户来说已经还算不错了。

# !/usr/bin/env python
import os
import sys

"""
此脚本用于在Ubuntu系统下挂载iPhone
请正常使用,不确定其稳定性
"""

# 这是你的设备挂载点,可自定义
path = "/home/jeffrey/iPhone2"


def check_path():
    if os.system("dpkg --list | grep libimobiledevice-utils") == 0:  # 所需包
        if os.system("dpkg --list | grep ifuse") == 0:  # 所需包
            if os.path.exists(path) is False:
                if os.system("mkdir " + path) == 256:  # 防止为卸载情况下拔出设备
                    if os.system("fusermount -u " + path) == 0:
                        os.system("notify-send " + "检测到上次未正常拔出,已修复")
                check_path()

            else:
                if os.system("idevicepair pair") == 256 or os.system("idevicepair pair") == 0:  # Bug语句
                    os.system("usbmuxd - f - v")
                    if os.system("ifuse " + path) == 0:  # 挂载
                        os.system("notify-send " + "挂载成功,但请注意需弹出设备时需次运行此脚本后再退出!")
                        os.system("nautilus " + path)  # 打开目录
                    else:
                        os.system("fusermount -u " + path)  # 卸载
                        os.system("rmdir " + path)  # 移除载入点
                        os.system("notify-send " + "已卸载,可拔出设备!")
                else:
                    os.system("notify-send " + "请插入设备!")
                    quit()
        else:
            print('请执行:sudo apt install ifuse')
            os.system("notify-send " + "缺少包:ifuse")

    else:
        print('请执行:sudo apt install libimobiledevice6 libimobiledevice-utils')
        os.system("notify-send " + "缺少包:libimobiledevice6 libimobiledevice-utils")


if __name__ == '__main__':
    if sys.platform == "linux":
        check_path()
    else:
        print("该脚本只能在Linux下运行!")

 类似资料: