答案1
在终端中运行此命令:
cd /run/user/1000/gvfs/afc:host=3bea74ae860d493803664babbaeac93614091e43
对于其他人来说,如果你检查这个目录,你会发现你的苹果设备(如果它已安装):
cd /run/user/1000/gvfs/afc\:host\=????????????????????????????????????????
答案2
在我看来,iOS / iPhone 文件有三种类型:
gphoto2://
文件:这些文件可以轻松访问(通过 GUI 文件管理器,也可能通过终端程序);它们是“DCIM”文件夹中的图像/视频文件。(如果您在访问这些文件时遇到问题,请考虑通过 重新启动 usbmuxdsudo systemctl restart usbmuxd
)afc://
文件:我研究了几个小时,但还是没找到通过终端程序真正访问它们的方法。不过,你仍然可以通过本地网络将它们从 iPhone 传输到 Linux 机器。请参阅下文了解方法(应通过本地网络而不是互联网传输文件)。- 既不是文件
gphoto2://
也不是afc://
文件:这些文件可以通过 ifuse 正确安装 iPhone 来访问。
访问看似不是gphoto2://
文件的afc://
文件
- 跑步
sudo apt install libimobiledevice6 libimobiledevice-utils
- 跑步
idevicepair pair
- 跑步
usbmuxd -f -v
- 跑步
sudo apt install ifuse
- 确保操作
idevicepair pair
有效:你需要解锁 iPhone 并在信任对话框中选择“是” - 跑步
sudo mkdir /mnt/iphone
- 跑步
sudo su
- 跑步
ifuse /mnt/iphone
您将能够看到基本上隐藏的文件,例如“/mnt/iphone/PhotoData/Thumbnails/V2/DCIM”中的文件(如果您使用 iPhone 拍照或录制视频)。奇怪的是,挂载点文件夹(例如“iphone”)可能会被 PCManFM 1.3.1 视为“inode/x-corrupted-type”。
afc://
通过 iPhone 应用程序和 SSH访问文件
此列表基于https://medium.com/geekculture/the-iphone-to-linux-airdrop-alternative-you-need-804a082fec9e(“SSH”) 对我有用:
sudo apt update -y && sudo apt install openssh-server -y && sudo systemctl enable --now ssh
如果尚未安装/运行/启用这些程序,请运行- 跑步
sudo vim /etc/ssh/sshd_config
或者sudo nano /etc/ssh/sshd_config
(如果你喜欢纳米) - 将文本更改为
#PubkeyAuthentication no
或PubkeyAuthentication no
- 将文本更改为
#PasswordAuthentication no
或PasswordAuthentication no
- 将其添加到纯文本文件的底部:
# Allow from devices on most common WiFi ranges
Match Address 192.168.1.*
PasswordAuthentication yes
PubkeyAuthentication yes
Match Address 192.168.0.*
PasswordAuthentication yes
PubkeyAuthentication yes
# Allow from devices on iOS hotspot range
Match Address 172.20.10.*
PasswordAuthentication yes
PubkeyAuthentication yes
- 保存文本文件
- 跑步
sudo systemctl restart sshd.service
- 从以下位置安装 FTPManagerhttps://apps.apple.com/us/app/ftpmanager-ftp-sftp-client/id525959186
- 将 FTPManager 连接到您的计算机的本地 IP 地址
- 运行以下命令查看 IP 地址
ifconfig | grep -E "inet (192.168.[0-9].[0-9]+|172.20.10.[0-9]+) " | tail -1 | awk '{print $2}'
- 在将文件从 iPhone 复制或移动到 Linux 计算机之前,请设置 FTPManager 以记住 SSH 登录。您应该能够将
gphoto2://
文件和afc://
文件夹复制到您的 Linux 计算机。 - 传输文件。请参阅https://www.skyjos.com/ftpmanager/help/help_main.php?section=file_transfer如何传输图片、视频或任何其他类型的文件。
我知道这个解决方案没有显示如何afc://
通过 CLI 访问,但它确实解决了 OP 中提出的问题:“手动安装和访问只会导致 IO 错误”。
您可能需要越狱的 iPhone(我没有)才能afc://
通过 CLI 进行访问。来自ifuse --help
:
--root mount root file system (jailbroken device required)
Example:
$ ifuse /media/iPhone --root
This mounts the root filesystem of the first attached device on
this computer in the directory /media/iPhone.
上述方法对我有用:
$ ideviceinfo
[...]
ProductName: iPhone OS
ProductType: iPhone8,1
ProductVersion: 15.5
ProductionSOC: true
ProtocolVersion: 2
[...]
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.4 LTS
Release: 20.04
Codename: focal
(@Gruzzles 的回答并没有真正的帮助,但还是有一点点帮助。)