16

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:~$
27

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 with

onedrive -m

I found the above command useful.

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

man onedrive
  • Does anyone know the github page for this, if one exists? – Mark Deven Apr 24 '19 at 15:32
  • 2
    for reference, here's onedrive app github: github.com/skilion/onedrive You can find there additional parameters, configuration, requirements etc. – mauek unak Jul 23 '19 at 16:59
  • also for reference, the tool's author is AWOL since 2018.9, the successor fork is here: github.com/abraunegg/onedrive. – Elderry Dec 16 '19 at 6:18
6

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.

1

There is a new onedrive api and it runs ok in ubuntu 18.10:

https://github.com/xybu/onedrived-dev read and follow the instructions

  • Hi. This looks harder than the good old onedrive package. What are the benefits? (their github isn't clear about it) – kubanczyk Feb 19 '19 at 5:59
0

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/

0

Another way is using Google Chrome.

  1. Install Google Chrome
  2. Open your home folder and press Ctrl+h to show hidden files.
  3. Open .local/share/applications folder.
  4. In this folder create OneDrive.desktop file.
  5. Fill Onedrive.desktop with this:

    [Desktop Entry]
    Name=OneDrive
    Exec=google-chrome --app="data:text/html,<html><body><script>window.resizeTo(800,600);window.location='https://onedrive.live.com/';</script></body></html>"
    Comment=
    Terminal=false
    Icon=web-microsoft-onedrive
    Type=Application
    

I'm using Linux Mint 19.2 with an icon pack which contains an icon for OneDrive, but you can specify any in the Icon string. As a result, you will have new app in your app menu, by clicking on it Chrome will open new window with your OneDrive folder. Don't forget to save password using Chrome and check the "Stay in system" option during authorization.

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