iTunes只有Windows與macOS版,Linux系統得用Wine裝,但是用Wine裝iTunes很痛苦的,最新版本就算依賴套件全裝開啟還是黑螢幕。若不想為存取iPhone/iPad檔案開Windows虛擬機,那就使用開源軟體來達成目標吧!不需要用Windows上閉源的iMazing、iTools軟體。
本文提及的軟體,Ivon使用iPhone SE 2016和iPod touch 6測試過,確認可以使用。
Linux系統透過一些開源軟體的幫助就能存取iPhone/iPad的照片,甚至可以免iTunes整機備份。
另請參見:
Linux安裝 Windows QEMU/KVM虛擬機 | macOS QEMU/KVM虛擬機
1. 安裝iOS相關的套件
在Linux電腦安裝以下套件,這些工具都是開源社群針對Apple公司技術的重新實作,他們還有提供macOS和Windows的版本。
- usbmuxd:用於處理蘋果的USB通訊,並允許iOS裝置以USB分享網路給電腦。另有遠端連線用的usbfluxd
- libimobiledevice:用於處理蘋果的USB通訊,還可以用來截圖、取得裝置資訊。
- ifuse:用於掛載iOS裝置的檔案系統,也可以掛載iOS APP的目錄。
- idevicerestore:升級重置iOS裝置
- ideviceinstaller:管理iOS裝置上的APP,也能安裝自己編譯的IPA。
Arch Linux安裝以下套件:
|
|
Ubuntu 22.04安裝以下套件:
|
|
2. idevicepair 與iPhone配對
每次iPhone重新連接後皆須執行此步驟。無法連線的話先執行systemctl enable --now usbmuxd
和systemctl enable --now avahi-daemon
。
- 將iPhone插上電腦,輸入指令配對,在iPhone上點選「信任此電腦」。
|
|
- 驗證連接是否成功
|
|
3. ifuse 傳輸iPhone的照片影片
此步驟存取的是iPhone內建「照片」APP目錄下的檔案。不建議從電腦移動照片到iPhone相機膠卷。
KDE和GNOME桌面環境應會自動掛載iOS裝置的照片目錄,從檔案管理員點選查看。
- 或者可手動建立掛載點:
|
|
- 用ifuse掛載iPhone的目錄(雖然用sudo,不過
-o allow_other
參數能讓其他使用者存取該目錄)
|
|
開啟掛載點下的
DCIM/100APPLE
目錄,這樣就能將iPhone上的照片與影片傳輸到電腦了,建議用cp -a
指令複製才能保留照片拍攝時間。傳輸完成後,取消掛載:
|
|
不建議移動照片到iPhone,且iCloud和照片時間會錯亂。但如果移了就得強迫iPhone重新整理相機膠卷。
首先取消掛載,再將iPhone重開機,照片才會出現。
|
|
4. ifuse 傳輸iPhone APP的檔案
有些APP的目錄可透過電腦iTunes的「檔案共享」界面存取,而Linux要手動依照APP ID掛載。這些iOS APP的目錄可以讓我們放檔案進去,例如將影片放到VLC影片播放器的目錄,而非放到iOS的相簿。
下面以VLC影片播放器APP為例子。
- 列出iPhone上安裝的APP列表,例如VLC的APP ID為" org.videolan.vlc-ios"
|
|
- 建立掛載點
|
|
- 用ifuse掛載VLC的目錄
|
|
這樣就可以將電腦檔案移動到VLC的目錄了。
移動完成後同樣要取消掛載:
|
|
附記:如果你有越獄(jailbreak),可以用--root
參數掛載iPhone的整個目錄:
|
|
如果掛載iPhone遇到There was an error accessing the mount point: Input/output error
,那就換個掛載點試試看。
5. idevicebackup2 整機iPhone備份與還原
idevicebackup2
指令能直接建立iPhone備份,甚至可以加密,不用透過iTunes。例如整機備份iPhone到Downloads
目錄:
|
|
- 要還原則使用此指令:
|
|
6. idevicerestore 升級重置iPhone系統
idevicerestore工具可以用來重置iPhone系統,也可以降級系統(需提供.shsh
檔案)
重置前務必登出Apple ID與關閉尋找我的iPhone。
- 用以下指令清除iPhone資料,並重置系統。
|
|
按照指示選取有Apple簽名的IPSW,它會自動下載IPSW,將系統升級到該機型支援的最新版iOS。
輸入YES同意刪除資料
7. ideviceinstaller 安裝IPA
ideviceinstaller主要是給macOS除錯用的,用Xcode編譯IPA後,可以透過此指令安裝到iOS裝置上:
|
|
不過若單純想安裝第三方APP,還是使用AltStore安裝較簡單。