mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-12 17:27:03 +01:00
A daemon killed by the watchdog left its FUSE mounts dead. A dead mount answers ENOTCONN, which create_dir_all took for an absent directory, so every restart failed with EEXIST and retried forever without reaching the code that clears stale mounts. mount_once now goes through prepare_mountpoint, which clears a dead mount first. Startup on a large account (70 s hydrating 48k nodes) plus the supervisor's first ping one full period later outlasted WatchdogSec=120, so a restart that did mount was aborted again. The daemon now asks for a 10-minute watchdog before startup, the supervisor pings on its first tick, and the unit's own timeout is restored once the control socket answers. Records B279.
Proton Drive for Linux documentation
Proton Drive for Linux is an unofficial Proton Drive client for the Linux desktop. Your Drive appears as a folder that downloads files when you open them, local folders are backed up and kept in sync, and a GTK app with a tray icon and a search launcher covers Photos, sharing and more. A command-line client does all of it from a terminal.
These pages are also published as the
wiki, generated from the
docs/ folder of the repository.
Where to start
- New here? Getting started takes you from installing to your first synced folder.
- Installing or updating? Installation covers Fedora (COPR), Arch (AUR), Debian and Ubuntu, NixOS, and building from source.
- Something not working? Troubleshooting starts with
pdfs diagnoseand goes through common problems. - New computer, or the old one is gone? Recovering on a new computer gets your synced folders back.
- Quick question? Try the FAQ.
Using it
| Page | What it covers |
|---|---|
| User guide | How the pieces fit together, the words the app uses, preferences |
| Files and offline access | The ~/ProtonDrive folder, keeping files available offline, the Trash, earlier versions |
| Synced folders | Backing up local folders, excluding files, changes waiting to upload, conflicts, pausing |
| Photos | Timeline, albums, places, duplicates, importing from Google Photos |
| Sharing | Invitations, public links, items shared with you |
| Computers | Other computers in your account, syncing several computers |
| Search launcher and tray | Finding files from a keyboard shortcut, the tray icon |
Reference
| Page | What it covers |
|---|---|
| Command-line reference | Every pdfs command, grouped by task, and scripting with --json |
| Configuration | config.json, environment variables, file locations, the systemd service |
| Security model | What protects your files, what is kept on this computer, what the client connects to |
| Changelog | What changed in each release |
Contributing
| Page | What it covers |
|---|---|
| Development guide | Building, running and debugging from source; common changes; releasing |
| Architecture | Crates, the local tree, read and write paths, the queue, the sync engine, the control protocol, threads, threat model |
| Testing | Unit tests, simulation runs and the FUSE acceptance suite |
| Translating | Adding and updating translations |
| Roadmap | Planned work and verification still owed |
| Bug ledger | Every tracked defect with its analysis and status |
Also see CONTRIBUTING.md, and SECURITY.md to report a vulnerability privately.