Problem with OneDrive. Recently I've installed OneDrive in my PC (Ubuntu 17.04) but I'm not able to configure or not able to sign in OneDrive through the terminal. Actually I've strucked here. Please look on to this

jujube@jujube:~$ onedrive
Authorize this app visiting:

https://login.live.com/oauth20_authorize.srf?client_id=000000004C15842F&scope=onedrive.readwrite%20offline_access&response_type=code&redirect_uri=https://login.live.com/oauth20_desktop.srf

Enter the response uri: https://login.microsoftonline.com/189de737-c93a-4f5a-8b68-6f4ca9941912/oauth2/authorize?client_id=00000003-0000-0ff1-ce00-000000000000&response_mode=form_post&response_type=code%20id_token&resource=00000003-0000-0ff1-ce00-000000000000&scope=openid&nonce=1263013103B7E6782803F03D5629B7D0FB1A68D46E17D09C-4B1B73911F92DE22FA330783ACEDE04C7C9991BB38BA7FCD9E3A9A900E0DB6AC&redirect_uri=https:%2F%2Fhclo365-my.sharepoint.com%2F_forms%2Fdefault.aspx&state=0&client-request-id=3fc31b9e-70d1-4000-78af-c23eabf4934b
Invalid uri
Could not initialize the OneDrive API
jujube@jujube:~$

I tried installing the package onedrive and it works just fine

$sudo apt-get install onedrive

post install, run command

$onedrive

This will provide a URI and ask you for a URI in return. Click the URI and login to your onedrive account (this package works only with personal onedrive for now). Good thing is it also works with two factor authentication - no app password is needed.

The URI will show a blank page, copy the web URI and paste it into the terminal where the onedrive command prompted for uri.

That's it. The tool will download entire Onedrive contents to $HOME/OneDrive directory.

The drive can be sync'ed in real time but running command

onedrive -m

I found the above command useful.

Any time simply running onedrive will sync the files. Use manual to find much more options to configure the sync to your need

$man onedrive

I just gone through the following exercise, and OneDrive is partially working for me.

1.install OneDrive package via apt-get

$ sudo apt-get install -y onedrive

2.run onedrive command

$ onedrive Authorize this app visiting:

https://login.live.com/oauth20_authorize.srf?client_id=000000004C15842F&scope=onedrive.readwrite%20offline_access&response_type=code&redirect_uri=https://login.live.com/oauth20_desktop.srf

Enter the response uri:

3.copy and paste the given URL to any browser, then, following the regular Microsft OneDrive procedure. At the end, you get an empty web page.

4.copy the URL and paste it as the response to onedrive command. Here is what I got,

Enter the response uri: https://login.live.com/oauth20_desktop.srf?code=M5f2af202-6d1d-eb70-2007-6077fb7f93f0&lc=1033 Creating directory: ./我的最愛.My Favorites Creating directory: ./Calendar.web Creating directory: ./WallPapers Creating directory: ./Documents Creating directory: ./WallPapers/MacOS . . .

5.You will see $HOME/OneDrive folder been created with OneDrive content.

The reason I said I had a partial success is because the onedrive crashed with following error,

sqlite.SqliteException@src/sqlite.d(147): database is locked ---------------- ??:? [0x6223bf12] ??:? [0x62251a7b] ??:? [0x62250caf] ??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0xb3cc9a0e] ??:? [0x62255cf4] ??:? __libc_start_main [0xb345a3f0] Segmentation fault (core dumped)

Not sure if this is caused by running another onedrive instance while it was already busying sync'ing up the data.

I re-launched a fresh onedrive and it is still sync'ing up (downloading) my data.

I just found a link with instructions on how to get OneDrive installed on Ubuntu.

  1. Run in Terminal git clone https://github.com/xybu92/onedrive-d.git
  2. If you dont have git installed, run sudo apt-get install git to install it and then run the last command in 1.
  3. cd onedrive-d to go into the directory you just downloaded.
  4. ./inst install to setup OneDrive.
  5. If the command in 4 says it requires some dependencies, run sudo apt-get install -f to fix them and it will finish setting up OneDrive after installing the dependencies or you can run #4 again to make sure it gets installed.
  6. Right after installation, a window should appear showing OneDrive preferences.
  7. Click Connect to OneDrive.com and you should be able to sign into your Microsoft account or OneDrive account.
  8. After logging in Accept any permissions it requests and save any preferences.
  9. Your OneDrive folder should now be in your home folder /home/user/OneDrive.

You will have to setup some additional things to get it to start automatically instead of running the daemon every time you boot and some additional info you.

  • OneDrive does not start up on startup so you will have to add onedrive-d in Startup Applications.
  • To make any changes you can open the preferences window with onedrive-prefs.
  • OneDrive also has a command line tool to make any changes like create a new directory. onedrive-cli.

More detailed info can be seen here: https://www.maketecheasier.com/sync-onedrive-linux/

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.