I have been touching OneDrive for a while now.
I tried to use OneDrive on Ubuntu as well, but OneDrive does not have a Linux client.
I did some research and found an article about a free OneDrive client for Linux, so I gave it a try.
Rough installation procedure
According to the article, "abraunegg/onedrive" is better than "skilion/onedrive" because abraunegg/onedrive is newer. When I actually looked at Git, I found that "skilion/onedrive" has not been updated since last year, so I decided to use "abraunegg/onedrive".
The procedure is almost exactly as described in the Readme.
Install necessary libraries
The client is written using the D language, which is compiled and then installed for use, so the D language is also installed as a library.
Activate D language
source ~/dlang/dmd-~/activate
Match the "\~" in "dmd-\~" to the version of the D language at the time the library was installed.
You will know when the D language is active because the prompt will say "(dmd-\~)".
Once compiled and installed, deactivate the D language with "deactivate".
Get files from Git.
Setup and Installation
Running "configure" in the "onedrive" directory will configure it for compilation.
Here we set the "--enable-notifications" flag to notify us of errors
./configure --enabe-notifications
The rest is compiled and installed.
make clean; make; sudo make install
rough usage procedure
The client command will be "onedrive".
- User authentication with
onedrive
- Confirmation of setting values with
onedrive --display-config
Configuration is done by copying the "onedrive/config" file downloaded from Git to "\~/.config/onedrive/" and editing it.
We left the settings as default, but we wanted to synchronize only the specified folders, so we used the following method to specify the synchronization folder.
- Create "\~/.config/onedrive/sync_list" file
- Write a folder to synchronize with that file.
Check with onedrive --synchronize --verbose --dry-run
to be sure,
systemctl --user enable onedrive # service auto-execute enabled systemctl --user start onedrive # service execution
and run it to complete the process.
Execution Result
Windows
Ubuntu
Office365
It worked!
Japanese-language files and directories seem to work fine. Mutual synchronization seems to be working well. Update check is every 45 seconds.
There is no GUI, but you can watch the synchronization status with the following command, so it would be a good idea to leave it open in a terminal somewhere or run it if you are concerned about whether it is working properly.
journalctl --user-unit onedrive -f
Correction, Start over, Deletion
If you want to modify, start over, or delete the file, stop the service stop with systemctl --user stop onedrive
and click
- If you want to modify, modify the configuration file "\~/.config/onedrive/" and start the service with
systemctl --user start onedrive
. - If you want to start over from the beginning, delete the files in "\~/.config/onedrive/" and start over from the authentication with
onedrive
.
The following is a list of the most important factors that must be taken into account when designing a new product.
In case of deletion, in addition to service suspension
- Disable automatic service execution with
systemctl --user disable onedrive
- Go to the onedrive directory where you made the
sudo make uninstall
file. - Delete "\~/.config/onedrive/" directory
The following is a list of the most important factors that must be taken into account when designing a new product.
impressions
I went to the trouble of making OneDrive available on Ubuntu, but I'm disappointed that I ended up not using OneDrive.