Restoring Google Drive in File Manager

Problem#

GNOME 50 dropped Google Drive support (GVFS lost its unmaintained libgdata dependency). Google account still connects in Settings → Online Accounts (mail/calendar/contacts), but the Files toggle is gone and Drive never shows in Nautilus. OneDrive is unaffected. Check version: gnome-shell --version (50+ = this issue).

Fix: rclone mount + systemd user service#

  1. Install rclone (+ fuse3). Brew version worked on atomic Fedora.
  2. Configure the remote: rclone config → n → name gdrive → type drive → browser auth.
    • Optional but recommended: own OAuth client ID (shared default is slow/rate-limited). If tokens die weekly, publish the OAuth consent screen (Testing mode = 7-day tokens).
  3. Verify: rclone lsd gdrive:
    • invalid_grant / token expired → rclone config reconnect gdrive:
    • "Skipping unexportable google document ...map" = harmless (My Maps files).
  4. Create the unit:
mkdir -p ~/.config/systemd/user ~/gdrive
cat > ~/.config/systemd/user/rclone-gdrive.service <<EOF
[Unit]
Description=rclone Google Drive mount
After=network-online.target

[Service]
Type=notify
ExecStart=$(which rclone) mount gdrive: %h/gdrive --vfs-cache-mode full
ExecStop=/usr/bin/fusermount3 -u %h/gdrive
Restart=on-failure

[Install]
WantedBy=default.target
EOF

systemctl --user daemon-reload
systemctl --user enable --now rclone-gdrive
  1. Bookmark ~/gdrive in Files (Ctrl+D).

Optional flags (append to ExecStart)#

--dir-cache-time 5m --vfs-cache-max-size 5G --log-level ERROR Edit with systemctl --user edit --full rclone-gdrive, or edit the file and daemon-reload + restart.

Gotchas hit#

  • "Unit does not exist": the unit file must be created on disk first.
  • "directory already mounted": stale manual rclone mount held ~/gdrive. Fix: fusermount3 -uz ~/gdrive (try /home/... spelling if /var/home/... isn't found; atomic Fedora symlinks /home → /var/home), pkill -f "rclone mount", then systemctl --user reset-failed rclone-gdrive && systemctl --user restart rclone-gdrive. The reset-failed is needed after systemd's 5-rapid-restart limit.
  • Brew rclone upgrade swaps the binary under the service: restart it afterward.
  • Google Docs/Sheets appear as exported docx/xlsx; .dtrash is Drive trash (exclude it from any bulk sync: --exclude ".dtrash/**").

Debugging#

systemctl --user status rclone-gdrive
journalctl --user -u rclone-gdrive -e --no-pager | tail -30
mount | grep -i gdrive
pgrep -a rclone

Alternatives#

  • Stay on GNOME ≤49 (e.g. Ubuntu 24.04): native mount still works.
  • Community patch re-implementing Drive in gvfs without libgdata (discourse.gnome.org, "Google Drive in GNOME 50"). DIY build.