Optimal method for Google Drive mirroring (perhaps rclone?) on Ubuntu 26.04 LTS running GNOME 50
https://askubuntu.com/questions/1567829/optimal-method-for-google-drive-mirroring-perhaps-rclone-on-ubuntu-26-04-lts
As https://www.omgubuntu.co.uk/2026/03/google-drive-not-working-nautilus-ubuntu-26-04 mentions, native Google Drive access via the Nautilus file manager was discontinued starting GNOME 50. Which is surprisingly bad timing given that I just inducted myself into Ubuntu via LTS 26.04 ('resolute').
TLDR; I need the best way to sync Google Drive on my Ubuntu with some local cache that allows me to keep working for a week max without internet.
I need a way to sync my Google Drive data both ways. I have some uncompromisable requirements and some weak ones:
Strong requirements:
- Offline cache that enables me to work offline for around a week with the files I have recently opened (within say the past 1 week), and syncs changes as soon as internet arrives.
- No unnecessary download of large folders. Preferable if the exclusion is on an intelligent (usage detection) basis, but I can work with manual exclusion.
- No download of folders shared with but not owned by me that I have organized into shortcut links in my own Google Drive.
About [2,3], I'm willing to sacrifice some internet if necessary, or willing to switch to server size moves only (although I think that causes deletion-reupload on my side as well?).
Weak requirements:
- No deletion and reuploading of entire folders due to a local rename operation. Just a corresponding online rename operation.
- No deletion of reuploading of entire files due to a local rename operation. Just a corresponding online rename operation.
- Display of shortcut links to externally owned shared folders without any (or minimal) cache associated with them.
What I have tried and fails:
- rclone vfs local mount: it somehow didn't cache files, although other requirements seemed alright (not sure about the no-reupload crtieria [Strong-2,3]). Nautilus with the
gdrive folder open also froze completely as soon as I disconnected from the internet! Here is the code: maybe it can be fixed?
[Unit] Description=Google Drive Mount via rclone After=network-online.target Wants=network-online.target
[Service] Type=simple
#Create mount and cache directories
ExecStartPre=/usr/bin/mkdir -p %h/gdrive ExecStartPre=/usr/bin/mkdir -p %h/.cache/rclone
ExecStart=/usr/bin/rclone mount gdriveboi: %h/gdrive \
--vfs-cache-mode full \
--cache-dir %h/.cache/rclone \
--vfs-cache-max-age 168h \
--vfs-cache-max-size 100G \
--dir-cache-time 15s \
--poll-interval 15s \
--allow-other
ExecStop=/usr/bin/fusermount -u %h/gdrive
Restart=always RestartSec=15
[Install] WantedBy=default.target
- Dolphin + Dolphin Plugins + Konqueror + KIO GDrive + KIO Admin: The Dolphin file browser as well as the KDE system settings app show blank (see image) when I want to add a Google Drive account / new online account respectively. Konqueror (deb package) doesn't open even (snap package opens but is unable to open any location).

Given that I'm a beginner, I'd strongly prefer an existing (GUI even better) solution (if exists) since arguably it has been tried and tested to serve optimally under a variety of use cases.
What I've tried, works, but needs optimization:
rclone bisync workflow: Here is the latest code. Can it be optimized if there are no other/better methods to achieve what I'm asking?
resync process for first fetch:
rclone bisync gdriveboi: ~/gdrive \
--resync \
--track-renames \
--check-access \
--exclude-from ~/.config/rclone/gdrive-excludes.txt \
--max-delete 50 \
--log-file ~/.local/share/rclone-bisync.log \
--log-level INFO \
--progress
The service that enables background syncing:
[Unit]
Description=Google Drive BiSync
[Service]
Type=oneshot
ExecStart=/usr/bin/rclone bisync gdriveboi: %h/gdrive \
--track-renames \
--exclude-from %h/.config/rclone/gdrive-excludes.txt \
--max-delete 50 \
--log-file %h/.local/share/rclone-bisync.log \
--log-level INFO
with an associated timer:
[Unit]
Description=Run Google Drive BiSync every 1 minute
[Timer]
OnBootSec=1min
OnUnitActiveSec=1min
Persistent=true
[Install]
WantedBy=timers.target
With regard to this workflow, can I also include hashing to prevent file deletion-reupload on server side for a move on client side? What else can I do that optimizes the sync upto (and possibly beyond) my requriements?