快轉到主要內容

Linux電腦同步iCloud檔案、郵件、行事曆(Rclone + Thunderbird 教學)

· 民國115年丙午年
·
切換繁體/簡體 ·
分類 Linux系統 Linux好用軟體
標籤 Rclone IOS Linux GNOME KDE Plasma
目錄

在Linux電腦存取Apple iCloud雲碟,同步來自iPhone、iPad、Mac的檔案。打破Apple壁壘!

目的是要達到類似Windows版iCloud客戶端的效果,即在Linux電腦檢視iCloud檔案,還有將iCloud郵件與行事曆整合到Linux桌面,讓我們能跨裝置工作。

Screenshot_20250309_000737.webp
透過Linux檔案管理器瀏覽iCloud雲碟的檔案

Screenshot_20250309_002228.webp
用Linux版Thunderbird查看iCloud行事曆並接收通知

你可能會說,iCloud網頁版就夠用了,為什麼要用同步的呢?確實啦,iCloud雲碟、照片、郵件、行事曆、備忘錄、iWork套件都有網頁版,實無將檔案同步到電腦的必要。

Screenshot_20250309_001054.webp

但總有人喜歡這樣檔案隨手可得的感覺,檔案同步到本機之後,要用其他程式編輯比較方便嘛。

還有,若有重要檔案放在iCloud的話,自行用程式備份到Linux伺服器也是一個保險措施。

1. iCloud有Linux版客戶端嗎?
#

沒有。目前Apple沒有支援Linux的打算,畢竟他們連Linux版iTunes都不願意推出,逼人得用libimobiledevice才能在Linux查看iPhone的檔案。

我在Ubuntu的Snap Store看到了Marcus Tomlinson開發的iCloud for Linux程式,不過這並沒有將檔案同步到Linux本機的作用,它只是封裝了iCloud網頁版而已!

能不能跑Windows版的iCloud呢?根據Wine資料庫顯示,Windows版iCloud客戶端或許可以透過Wine執行。

不過我不打算這樣做,而是透過第三方程式來存取iCloud。我主要會用到的程式是Rclone和Thunderbird。

2. 同步iCloud檔案到Linux
#

我把iCloud跟iCloud照片分開講,因為他們是不同的服務。

iCoud只會顯示iOS的下載資料夾、iWork、捷徑、GarageBand的檔案,還有其他APP透過iCloud同步的檔案。不包含iOS的照片。

  1. 安裝Rclone。它是一款支援掛載Google Drive、OneDrive、Dropbox、iCloud的多功能程式。

  2. 根據iCloud Drive - Rclone Docs說明,Rclone不支援iCloud進階資料保護功能,有開啟的話請先將其關閉。

  3. 新增iCloud設定檔,輸入Apple ID和密碼,然後依照指示輸入雙重認證驗證碼。

rclone config

No remotes found, make a new one?
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n

name> iclouddrive

Storage> iclouddrive

apple_id>輸入Apple ID

Enter the password: 輸入Apple ID密碼
password:
Confirm the password:
password:

Option config_2fa.
Two-factor authentication: 輸入雙重認證驗證碼
  1. 這樣就完成登入了。登入有效期限是一個月

  2. 測試看看能不能列出iCloud雲碟的檔案。

rclone ls icloudrive:/
  1. 透過rclone mount,掛載iCloud雲碟到/run/media/user/icloud-drive方便用檔案管理員存取。啟用vfs-cache-mode檔案快取。
sudo mkdir -p /run/media/user/icloud-drive

sudo chown 1000:1000 /run/media/user/icloud-drive

rclone mount "iclouddrive:/" "/run/media/user/icloud-drive" --vfs-cache-mode full
  1. rclone mount指令比較像是瀏覽iCloud雲碟的目錄,並不會一次下載全部檔案。如果要一次備份所有iCloud的檔案到本機,請改用rclone copy指令,例如使用以下指令,將iCloud的全部檔案下載並備份到/home/user/Documents/icloud-drive目錄。
rclone copy -v "iclouddrive:/" "/home/user/Documents/icloud-drive"

3. 同步iCloud照片到Linux
#

Rclone支援iCloud照片,但是是唯讀的,只能下載不能上傳。

  1. 新增iCloud設定檔,選取iclouddrive並選iCloud Photos,輸入Apple ID和密碼,然後依照指示輸入輸入雙重認證驗證碼。
rclone config

name> icloud-photos

Storage> iclouddrive

Option service.
iCloud service to use.
Choose a number from below, or type in your own value of type string.
Press Enter for the default (drive).
 1 / iCloud Drive
   \ (drive)
 2 / iCloud Photos
   \ (photos)
service> 2
  1. 測試看看能不能列出iCloud照片的檔案。iCloud照片應該位於PrimarySync/All Photos目錄:
rclone ls "icloud-photos:/PrimarySync/All Photos"
  1. 下載照片到/home/user/Pictures/目錄。這裡照片會直接使用HEIC格式,並不會轉檔為JPEG。
rclone copy -v "icloud-photos:/PrimarySync/All Photos" "/home/user/Pictures/"

4. 同步iCloud郵件、行事曆、通訊錄
#

這些東西透過Mozilla Thunderbird一個程式就可以搞定。

iCloud支援IMAP與SMTP協定,因此Thunderbird能夠收到信件。此外iCloud還有CardDAV協定,這之中便包含了行事曆與通訊錄的資訊。

  1. 安裝Linux版Thunderbird,建議使用原生套件,不要用Flatpak。

  2. 根據Apple官網指示,登入Apple帳號,新增一組「APP專用密碼」。

    Screenshot_20250308_210738.webp

  3. 開啟Thunderbird,點選帳號設定 → 伺服器設定,新增Apple的IMAP伺服器,填入APP專用密碼。

    Screenshot_20250308_234321.webp

  4. 在SMTP伺服器設定,新增Apple的SMTP伺服器,再次填入APP專用密碼,驗證方式請用SMARTTLS。

    Screenshot_20250308_210459.webp

  5. 然後登入iCloud郵件帳號(可能跟你的Apple帳號不一樣)。

    Screenshot_20250308_210837.webp

  6. 順便將iCloud的行事曆與通訊錄同步過來。

    Screenshot_20250308_210856.webp

5. Linux桌面顯示iCloud行事曆
#

上面加入的iCloud行事曆只有Thunderbird內部看得到,能不能顯示在桌面環境的呢,譬如GNOME或者KDE Plasma桌面的行事曆元件?

這有二種思考方向:看是要將Thunderbird的iCloud行事曆同步到桌面,還是另外透過桌面環境的套件同步iCloud行事曆。

GNOME
#

GNOME 47版本可以從GNOME行事曆新增iCloud行事曆。

  1. 開啟GNOME行事曆 (ganome-calendar)

  2. 點左上角 行事曆 → 管理行事曆 → 新增行事曆

  3. 伺服器位址輸入https://caldav.icloud.com

  4. 輸入iCloud郵件帳號,還有APP專用密碼

  5. 這樣子GNOME行事曆便會出現iCloud行事曆了,可以編輯修改,也會同步顯示在GNOME桌面上方的通知欄。

KDE Plasma
#

KDE Plasma 6的Akonadi支援CalDAV協定,理論上應該是能連線的才對…但是我連線會出現錯誤,可能是bug。

  1. 安裝KOrganizer套件。

  2. 點選左下角的行事曆,新增行事曆

  3. 選取DAV群組資源

  4. 輸入iCloud郵件帳號與APP自訂密碼,並勾選手動設定網址。

  5. 遠端網址輸入iCloud行事曆的網址https://caldav.icloud.com

  6. 如果要讓iCloud行事曆顯示在桌面右下角的行事曆:右鍵 → 設定數位時鐘,顯示行事曆事件,並勾選顯示個人行事曆

6. 同步iCloud書籤到Linux瀏覽器
#

將Safari瀏覽器的書籤密碼,與Linux的瀏覽器同步。

雖然Apple官方有推出瀏覽器擴充套件,支援Firefox與Chromium瀏覽器,但是需要Windows版iCloud客戶端才能使用。

建議改用第三方服務管理書籤和密碼,譬如FloccusBitwarden

7. 其他iCloud服務?
#

乖乖用網頁版吧。

另請參見:

用於存取iOS裝置檔案的開源工具libimobiledevice

以及如何透過QEMU/KVM跑macOS虛擬機

相關文章


感謝您的閱讀。我寫作是為了誠實表達想法,而不是追逐社群互動與流量。我很樂意傾聽你在仔細閱讀我文章之後的心得。若有內容勘誤 or 技術問題 or 回饋想法,歡迎透過本站「關於」頁面的Email與我聯絡。