Files

2.8 KiB

iCloud Drive for Linux

A GTK3 GUI for icloud-linux, designed for ElementaryOS with a Granite-inspired interface. Sync your iCloud Drive and download iCloud Photos directly from the desktop.

ElementaryOS Python GTK

Features

  • Dashboard — Start, stop, restart, and sync iCloud Drive. Shows the current file being synced in real time with auto-refreshing status.
  • Logs — Live-follow service logs with color-coded ERROR / WARNING / INFO lines.
  • Photos — Download your most recent iCloud Photos as JPEGs into ~/Pictures/iCloud Photos so the Photos app can display them natively.
  • Settings — Configure your Apple ID, sync intervals, warmup workers, and more. Prompts to restart the service when saved.
  • Sign In — Authenticate with Apple ID and handle two-factor authentication.
  • Sleep/wake aware — Automatically reconnects log streams after the computer wakes from sleep.

Requirements

  • ElementaryOS 7+ / Ubuntu 22.04+
  • icloud-linux installed and configured
  • Python 3.10+
  • GTK 3.0

Installation

Clone this repo next to your icloud-linux installation and run the installer:

git clone https://github.com/nmemmert/icloud_linux_app.git
cd icloud_linux_app
bash install.sh

The installer will:

  • Install system dependencies (python3-gi, fuse, heif-gdk-pixbuf, etc.)
  • Set up the GUI at ~/.local/lib/icloud-gui/
  • Create a launcher at ~/.local/bin/icloud-drive
  • Add iCloud Drive to your app menu (Slingshot)

Running Without Installing

python3 icloud_gui.py

Uninstall

bash uninstall.sh

Your config (~/.config/icloud-linux) and downloaded photos (~/Pictures/iCloud Photos) are left intact.

Photos Setup

The Photos tab uses icloudpd (bundled with icloud-linux) to download photos directly to ~/Pictures/iCloud Photos as JPEGs. The ElementaryOS Photos app will find and display them automatically.

  • Sync Recent (200) — Downloads your 200 most recent photos
  • Sync More (1000) — Downloads your 1000 most recent photos
  • Open Photos App — Launches the ElementaryOS Photos app
  • Open Folder — Opens the download folder in Files

Project Structure

File Description
icloud_gui.py Main GTK3 application
icloud_photos_fs.py FUSE filesystem for on-demand photo access (experimental)
install.sh Installer script
uninstall.sh Uninstaller script
com.elementary.icloud-linux.desktop App menu desktop entry

License

MIT