浪人
DE | EN
Linux auf dem Surface Go — Bonus: OneDrive mit Rclone
tech

Linux auf dem Surface Go — Bonus: OneDrive mit Rclone

Zurück zum Blog
2 Min. Lesezeit

Linux auf dem Surface Go — Bonus: OneDrive mit Rclone

Ein weiterer Bonus-Artikel zur Serie — OneDrive so einrichten dass es sich vertraut anfühlt wie unter Windows, ohne einen offiziellen Client.

Das Ziel

Unter Windows integriert sich OneDrive nahtlos in den Explorer über Files On-Demand: Der vollständige Ordnerinhalt ist immer sichtbar, aber Dateien werden nur heruntergeladen wenn man sie tatsächlich öffnet. Kein vollständiger lokaler Klon, kein verschwendeter Speicherplatz. Genau dieses Verhalten soll unter Linux reproduziert werden.

Einen offiziellen OneDrive-Client für Linux gibt es nicht. Rclone — ein weit verbreitetes Open-Source-Tool zum Einbinden von Cloud-Speicher — deckt diesen Anwendungsfall gut ab. In Kombination mit der Option --vfs-cache-mode full verhält sich der eingebundene OneDrive-Ordner genau wie Files On-Demand unter Windows.

Ein ehrlicher Hinweis vorab

OneDrive ist bei mir im Moment noch die zentrale Ablage für alle möglichen Dateien — es ist das was sich nach Jahren Windows-Nutzung einfach angesammelt hat. Mittelfristig werde ich es ablösen. Für Obsidian-Vaults verwende ich bereits Syncthing — dazu wird es einen eigenen Artikel geben der das Setup über mehrere Geräte und Betriebssysteme hinweg beschreibt. Für den Moment ist Rclone die pragmatische Lösung um den Übergang fließend zu gestalten.

Installation & Konfiguration

Rclone ist in den Standard-Ubuntu-Paketquellen enthalten:

sudo apt install rclone

Danach wird ein OneDrive-Remote konfiguriert. Rclones interaktive Einrichtung übernimmt den OAuth-Prozess — sie öffnet ein Browserfenster für die Microsoft-Anmeldung und speichert den Token lokal:

rclone config

Den Anweisungen folgen:

  • New remote → einen Namen vergeben, z. B. onedrive
  • Storage typeMicrosoft OneDrive auswählen
  • Client ID und Secret leer lassen (Rclone nutzt eine eigene App-Registrierung)
  • Dem browsergestützten OAuth-Login folgen — hat auf Anhieb funktioniert
  • OneDrive-Typ (persönlich, Geschäft usw.) bestätigen und das richtige Laufwerk auswählen

OneDrive einbinden

Einen Einhängepunkt erstellen und kurz testen:

mkdir ~/OneDrive
rclone mount onedrive: ~/OneDrive --vfs-cache-mode full &

--vfs-cache-mode full ist das entscheidende Flag — es aktiviert vollständiges Lese-/Schreib-Caching, sodass Dateien wie lokale Dateien behandelt werden auch wenn sie erst bei Zugriff heruntergeladen werden. Die Ordnerstruktur ist sofort sichtbar, einzelne Dateien werden beim Öffnen geladen.

Aushängen mit:

fusermount -u ~/OneDrive

Autostart beim Login

Damit der Einhängepunkt bei jedem Login automatisch verfügbar ist, empfiehlt sich ein systemd-User-Service — zuverlässiger als ein .desktop-Autostart-Eintrag für etwas das eine Netzwerkverbindung voraussetzt:

mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/rclone-onedrive.service << EOF
[Unit]
Description=OneDrive (rclone mount)
After=network-online.target

[Service]
ExecStart=rclone mount onedrive: %h/OneDrive --vfs-cache-mode full
ExecStop=fusermount -u %h/OneDrive
Restart=on-failure

[Install]
WantedBy=default.target
EOF

systemctl --user enable rclone-onedrive
systemctl --user start rclone-onedrive

Danach ist ~/OneDrive bei jedem Login eingebunden und einsatzbereit — ganz ohne manuellen Eingriff.

Was funktioniert, was nicht

Das Verhalten kommt den Windows Files On-Demand sehr nahe. Die Ordnerstruktur ist immer präsent, Dateien werden beim Zugriff transparent geladen, und Änderungen werden zurück zu OneDrive synchronisiert. Der Dateimanager und alle anderen Apps arbeiten mit dem eingebundenen Ordner wie mit lokalem Speicher.

Was im Vergleich zu Windows fehlt, sind Sync-Status-Symbole — es gibt keine visuelle Anzeige auf Dateien ob sie lokal vorliegen oder noch in der Cloud sind. Das ist eine kosmetische Einschränkung der Art wie GNOME mit Einhängepunkten umgeht, kein spezifisches Rclone-Problem.

Alles andere funktioniert einwandfrei — und für eine Übergangslösung ist das mehr als genug.