iOS - Arch Linux 中文维基

跳转到内容

# iOS

来自 Arch Linux 中文维基

翻译状态：

- 本文（或部分内容）译自 iOS，最近一次同步于 2026-06-28，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

相关文章

- 有声书
- iPhone 网络共享
- iPod（英语：iPod）

iOS 是由 Apple Inc. 开发的用于iPhone系列手机的操作系统。虽然Apple官方并不支持将iOS设备连接到Linux，但 libimobiledevice 项目提供了连接iOS与Linux设备并传输数据所需的库与工具。

提示：还可以使用 KDE Connect 来在iOS和Linux间传输文件。

## 安装

安装 libimobiledevice包 与 usbmuxd包 包。

## 连接到设备

### 使用 Usbmux 守护进程

usbmuxd 负责与iOS设备间的底层连接。usbmuxd 包也包含了一条 udev 规则，使得在设备连接或断开连接时可以自动启动和停止守护进程。

连接iOS设备并确认 `usbmuxd.service` 已经自动启动。

    $ systemctl status usbmuxd.service

    ...
    Active: active (running) since Sun 2020-01-19 19:23:18 UTC; 22s ago
    ...

### 配对

连接iOS设备后解锁屏幕，您将会在设备上看到“是否信任此电脑？”的弹窗。点击“信任”，然后输入您的设备密码来完成配对过程。

如果您没有看到上述弹窗，您也可以手动开始配对过程。连接设备，并在解锁屏幕后运行：

    $ idevicepair pair

    SUCCESS: Paired with device d8e8fca2dc0f896fd7cb4cb0031ba249

如果您同时连接了多台iOS设备，也可以通过传递 `--udid ios_udid` 参数来选定一个特定设备。

要验证配对已成功，可以运行：

    $ idevicepair validate

    SUCCESS: Validated pairing with device 00008030-001D3562367A402E

### 传输数据

配对后，iOS会在电脑上显示两个不同的文件系统。其一是媒体文件系统，包含了设备的照片、视频与音乐。 第二个文件系统用来直接与特定应用程序共享文件。它有时被称为“iTunes 文档共享”。[1] [2]

#### 使用图形化文件管理器

使用 GVFS 的文件管理器可以与iOS设备交互。要访问媒体文件系统，安装 gvfs-gphoto2包。要访问应用程序文档文件系统，需安装 gvfs-afc包。

注意：访问媒体文件系统时，GVFS 只会显示设备的照片与视频，而不会显示音乐。

kio-extras包 包中包含有对 Dolphin 的iOS设备支持，它现在已经是 Dolphin 的依赖之一。[3]

#### 手动挂载

安装 ifuse包 包。您可以通过运行以下命令来挂载您的iPhone上的媒体文件系统：

    $ ifuse mountpoint（挂载点）

您可以通过此在 `mountpoint/DCIM` 中访问设备中的照片。

注意：借此，设备的音乐数据库也可以在 `mountpoint/iTunes_Control` 访问。您不能以这种方式向设备添加新的曲目，但可以借此将设备中的歌曲复制到您的电脑。
警告：手动编辑 iTunes_Control 中的数据库会导致其损坏，这将使您已同步的歌曲变为只能通过重置系统（抹掉iPhone）来移除的过时失效数据。

要访问一个应用程序的文档文件系统，您首先需要辨认该应用程序。

    $ ifuse --list-apps

    "CFBundleIdentifier","CFBundleVersion","CFBundleDisplayName"
    "org.videolan.vlc-ios","432","VLC"
    "org.wikimedia.wikipedia","1932","Wikipedia"
    "org.kde.kdeconnect","2","KDE Connect"
    [...]

然后您便可以使用以下命令挂载一个应用程序的文件：

    $ ifuse --documents APPID mountpoint（挂载点）

其中，APPID是所需应用程序的包的识别符（包名），例如 `org.videolan.vlc-ios`。

完成后，卸载文件系统：

    $ fusermount -u mountpoint

## 导入视频与图像

照片和视频通常都可以在 `<mountpoint>/DCIM/100APPLE` 下被找到。

iOS 倾向于使用一些没有良好支持的文件格式，但您也可以通过手动设置让其使用兼容性更好的文件格式。此外，您可能也会想要将使用兼容性较差的格式存储的文件转为兼容性较好的格式。

## 备份

### 创建备份

您可以运行以下命令以通过 libimobiledevice 为您的 iOS 设备创建一个完整的备份，其中 `backup_to` 是您存放备份文件的文件夹:

    $ idevicebackup2 backup --full backup_to

您可能需要在您的 iOS 设备上输入设备密码以授权备份操作。

### 还原备份

您可以使用以下命令还原 `restore_from` 中存放的备份:

    $ idevicebackup2 restore restore_from

### 访问备份中的内容

`idevicebackup2` 提供了 `info` 与 `unback` 等子命令以供访问备份中的内容。 其中 list 子命令当前不可用。

一些其他工具，例如这个，也可以用于查看和导出备份中的内容。

提示：如果您被要求打开 iTunes 备份 文件，请打开备份文件夹中的 `Manifest.db` 。

## 设备还原

idevicerestore-gitAUR 可用于更新（重新安装 iOS 并保留用户数据）或还原（重新安装 iOS 并抹掉用户数据）iOS 设备。

## 疑难解答

### ifuse 无法挂载应用程序文件目录

使用 ifuse 挂载应用程序目录并尝试列出挂载点下的内容时，您可能会遇到下面的错误：

    ".": Input/output error (os error 5)

这是一个已知问题，已经在现在的 libimobiledevice 开发版本中被修复，但尚未进入稳定版中。解决办法是安装 libimobiledevice-gitAUR 。

### 设备无法被重定向至虚拟机

如果您使用USB来在 Windows 虚拟机中同步设备，尝试将其重定向可能会因 "其他应用程序正在使用该设备" 而失败。这是由于 `usbmuxd.service` 在设备连接后自动启动。这可以通过停用或屏蔽 `usbmuxd.service` 来解决。

## 参考

- Ubuntu 的 iPhone 与 iPod Touch 文档 (2014年以后未见更新)

分类：​

- IOS

iOS
添加话题