After tried installing OneDrive by different methods in Bluefin-DX i settled on brew.
I tried with Wine, distrobox, and docker. They work but they require a very involved role on permissions, services, creation of volumes, etc. It turned out that for me installing OneDrive via brew is the simplest, and also I get a GUI and a system tray icon.
Here are the steps:
- This assumes brew is already installed in your Fedora Silverblue or derivative. Source code and detailed documentation for OneDrive CLI for Linux here GitHub - abraunegg/onedrive: OneDrive Client for Linux. That is your best friend after installation, together with
onedrive --help
- If there is already a folder
~/.config/onedrive
from a previous installation move it somewhere else - Install OneDrive with
brew install onedrive
- After completing the installation we have two options:
- Run OneDrive as a brew service; or
- Run OneDrive as an application
- Picking one or the other depends of your preference. Running it as a service is a hands off approach and may not show the sync progress real time in a GUI. Running OneDrive as an application resembles much of the Dropbox client for Linux that is installed with flatpak. In this case, to make it simpler, I will go with OneDrive as an application with
/home/linuxbrew/.linuxbrew/opt/onedrive/bin/onedrive --monitor
- The
onedrive
command may not work until restarting the machine - Once logged in, run
onedrive
in a terminal. You could also runwhich onedrive
to know the location of the binary - If your plan is customizing a bit the OneDrive synchronization, copy the original configuration file in the brew system folders to the regular user config folder
~/config/onedrive
withcp /home/linuxbrew/.linuxbrew/share/doc/onedrive/config ~/.config/onedrive/
. - In my case I have the cloud folders under a ext4 partition called
synco
. We will need to change the destination folder by modifying the newly copied file~/.config/onedrive/
. Open it with a text editor - Modify the OneDrive config file with this line
sync_dir = "/var/mnt/synco/account_email/OneDrive"
- Test that the configuration has been recognized by OneDrive with
onedrive --display-config
. If it isn’t, probably OneDrive was started as a brew service. Stop it withbrew services stop onedrive
. Reboot and then executebrew services info onedrive
in the terminal. The OneDrive service should now NOT be running or enabled. And that is alright because we will be running it as an application. We will handle it with a GUI client - Install the AppImage OneDrive GUI Client downloaded from Releases pozdena/OneDriveGUI · GitHub
- Integrate the AppImage via AppImage Pool which can be installed with
flatpak install io.github.prateekmedia.appimagepool
. You could use the AppImage integrator of your preference - Make OneDrive to auto-start with Gnome Tweaks - Startup Applications
- Run the OneDrive GUI. If OneDrive is not started by running the OneDrive GUI then explicitly indicate the
onedrive
binary in brew with/home/linuxbrew/.linuxbrew/bin/onedrive
instead of the defaultonedrive
in Settings.
Progress
Tray Icon
Settings
I just saved me $39 for an Insync subscription!