快轉到主要內容

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

· 民國114年乙巳年
·
切換繁體/簡體
分類   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和Tnhunderbird。

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. 用以下指令新增Systemd服務,透過rclone mount,設定開機自動掛載iCloud雲碟到/run/media/user/iCloud。啟用vfs-cache-mode檔案快取。
sudo mkdir -p /run/media/user/iCloud

sudo chown 1000:1000 /run/media/user/iCloud

cat <<EOF > ~/.config/systemd/user/rclone-mount.service
[Unit]
Description=Rclone mount service
After=network.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/bin/rclone mount "iclouddrive:/" "/run/media/user/iCloud" --vfs-cache-mode full
ExecStop=/usr/bin/fusermount -u /run/media/user/iCloud
Restart=on-failure
RestartSec=5

[Install]
WantedBy=default.target
EOF

systemctl --user daemon-reload

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

3. 同步iCloud照片到Linux
#

Rclone尚未支援iCloud照片。

折衷方案是使用這個icloudpd。它只能下載iCloud照片,無法上傳。

  1. 這個工具可以透過pipx安裝
sudo apt install pipx

pipx install icloudpd
  1. 用以下指令,登入iCloud帳號,輸入密碼和雙重步驟驗證碼,並將照片下載到目前所在目錄的/data目錄。
mkdir data

icloudpd --directory ./data --username "填入Apple ID"

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客戶端才能使用。

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

7. 其他iCloud服務?
#

乖乖用網頁版吧。

另請參見:

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

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

相關文章

iPhone傳檔案到Linux電腦,使用GNOME與KDE的檔案管理器整理檔案
分類   Linux系統 Linux好用軟體
標籤   GNOME KDE Plasma Libimobiledevice Linux IOS ITunes
Linux安裝應用程式超方便~應用商店前端介紹
分類   Linux系統 Linux好用軟體
標籤   Linux GNOME KDE Plasma
Linux觸控螢幕使用虛擬鍵盤打字 (X11 / Wayland)
分類   Linux系統 Linux好用軟體
標籤   Linux GNOME KDE Plasma

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。