適用版本:Ubuntu 24.04以上
「ifuse」為libimobiledevice開發者製作的開源工具,功能有:
- 讓Linux能讀取iPhone的「相機膠卷」資料夾
- 存取iPhone APP的共享資料夾,類似 iTunes的APP檔案共享
- 如果iPhone有越獄,ifuse可以掛載iOS的根目錄,檢視手機上的全部檔案。
若你使用GNOME或KDE檔案管理員,iPhone一接上電腦可能會自動顯示相機膠卷,背後依賴的就是ifuse。
本文討論的是ifuse指令用法,若你想了解如何圖形化界面管理iPhone檔案,請參閱 使用GNOME與KDE的檔案管理器整理iPhone檔案
1. 安裝ifuse套件#
- 安裝libimobiledevice與ifuse套件,例如在Ubuntu就是:
sudo apt install usbmuxd libimobiledevice-utils libimobiledevice-dev libplist-dev ifuse
sudo systemctl enable --now usbmuxd
- 之後將iPhone插到Linux電腦,確認iPhone是否有被辨識到:
lsusb
- 輸入指令配對
idevicepair pair
在iPhone上信任此電腦。
確認配對是否成功
idevicepair validate
2. 存取iPhone的相機膠卷#
iPhone的相機膠卷即DCIM/100APPLE
目錄。
如果iPhone接上電腦後,Linux沒有自動掛載的話,要手動用ifuse掛載。
- 建立掛載點,例如這裡是
/run/media/user/iphone
sudo mkdir -p /run/media/$USER/iphone
- 用ifuse掛載iPhone的目錄,加上
-o allow_other
引數讓其他使用者存取該目錄
sudo ifuse -o allow_other /run/media/$USER/iphone
開啟掛載點下的
DCIM/100APPLE
目錄,這樣就能將iPhone上的照片與影片傳輸到電腦了。雖然可以直接在檔案管理員複製,不過建議用
cp -a
指令複製,才能保留照片拍攝時間。
cp -r -a /run/media/user/iphone/DCIM/100APPLE ~/Pictures
注意:不建議從電腦移動照片到iPhone相機膠卷,iCloud和照片時間會錯亂。
但如果移了就得強迫iPhone重新整理相機膠卷。首先取消掛載,再將iPhone重開機,照片才會出現。
# 移動完照片後刪除快取,之後iPhone的照片APP會閃退
cd /run/media/$USER/iphone/PhotoData
rm Photos*
cd
# 取消掛載,然後將iPhone重開機
sudo fusermount -u /run/media/$USER/iphone
3. 存取iOS APP的共享資料夾#
有些iOS APP的資料夾可以讓我們放檔案進去,例如將影片放到VLC影片播放器的目錄,而非放到iOS的相機膠卷。這類資料夾能在iPhone的「檔案」APP → 我的iPhone看到。
iOS APP的資料夾可透過電腦版iTunes的「檔案共享」界面存取,而Linux要手動依照APP ID掛載。
下面以VLC影片播放器APP為例子。
- 列出iPhone上安裝的APP列表,例如VLC的APP ID為
org.videolan.vlc-ios
ifuse --list-apps
- 建立掛載點
sudo mkdir -p /run/media/$USER/iphone-org.videolan.vlc
- 用ifuse掛載VLC的目錄
sudo ifuse -o allow_other --documents org.videolan.vlc-ios /run/media/$USER/iphone-org.videolan.vlc
這樣就可以將電腦檔案移動到VLC的目錄了。
移動完成後取消掛載:
sudo fusermount -u /run/media/$USER/iphone-org.videolan.vlc
4. 掛載越獄iPhone的根目錄#
不支援rootless越獄,必須使用rootful越獄才行。
此外,iOS裝置需要安裝「AFC2」的tweak才能讓Linux看到根目錄。
掛載檔案系統:
ifuse --root /run/media/$USER/iphone