Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.8 KiB
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.
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 Photosso 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