In this post I’m going to show you how to setup OneDrive file synchronization on your linux machine.
Install a OneDrive Client
Unfortunately there is no official OneDrive client provided by Microsoft, so we are going to use an open source alternative.
On Fedora, we can install the client with the following command:
sudo dnf install onedrive
If you are using Ubuntu or any other Debian based distribution, you can simply replace
After the installation we need to authenticate the OneDrive client. For this we execute the following command:
This will print an URL into the console window which we need to open in the browser of our choice. Next we need to login and authorize the client to access OneDrive. Once we have done that, we will be redirected to an empty page. This is normal, as we need to copy the URL of the page and paste it into the console window and press enter. After that the OneDrive client should be authenticated.
Enable selective Synchronization
If you want to synchronize all the files in your OneDrive, you can skip this section and start the clients systemd service, which will start the synchronization process. But if you want to enable selective synchronization and choose which files are synchronized, you need to create a file called
sync_list inside the folder
~/.config/onedrive. The file should contain a list of filename patterns that will be synchronized.
Start systemd Service
To start the synchronization we have to enable and start the systemd service of the OneDrive client with the following commands:
systemctl --user enable onedrive systemctl --user start onedrive
We can check the status of the service with:
systemctl status --user onedrive