如何在Ubuntu 17.04上设置OneDrive?

OneDrive出现问题。最近我在我的电脑(Ubuntu 17.04)上安装了OneDrive,但是我无法通过终端配置或登录OneDrive。 实际上,我在这里遇到了困难。请帮忙看一下。
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:~$
7个回答

我尝试安装了OneDrive软件包,它运行得非常好。
sudo apt-get install onedrive

安装后,请运行以下命令
onedrive

这将提供一个URI,并要求您返回一个URI。点击URI并登录到您的onedrive帐户(此软件包目前仅适用于个人onedrive)。好消息是它还支持双因素身份验证-不需要应用程序密码。
URI将显示一个空白页面,复制Web URI并将其粘贴到终端中,其中onedrive命令提示uri。
就是这样。该工具将下载整个Onedrive内容到$HOME/OneDrive目录。
驱动器可以与实时同步。
onedrive -m

我发现上述命令很有用。
随时运行onedrive来同步文件。使用手册可以找到更多选项来配置同步以满足您的需求。
man onedrive

有人知道这个的 GitHub 页面吗,如果有的话? - Mark Deven
3这是OneDrive应用的GitHub链接:https://github.com/skilion/onedrive。您可以在那里找到附加参数、配置和要求等信息。 - mauek unak
另外值得一提的是,该工具的作者自2018年9月以来失联了。这里有一个后继版本可供参考:https://github.com/abraunegg/onedrive。 - Elderry
为了获取URI,我不得不使用sudo onedrive而不是普通的onedrive - toonarmycaptain

我刚刚完成了以下练习,OneDrive对我来说部分工作正常。
1. 通过apt-get安装OneDrive软件包
``` $ sudo apt-get install -y onedrive ```
2. 运行onedrive命令
``` $ onedrive 访问此应用程序进行授权: 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 输入响应URI: ```
3. 将给定的URL复制并粘贴到任何浏览器中,然后按照常规的Microsoft OneDrive流程操作。最后,您会得到一个空白网页。
4. 复制URL并将其粘贴为`onedrive`命令的响应。这是我得到的结果,
输入响应的URI:https://login.live.com/oauth20_desktop.srf?code=M5f2af202-6d1d-eb70-2007-6077fb7f93f0&lc=1033 正在创建目录:./我的最愛.My Favorites 正在创建目录:./Calendar.web 正在创建目录:./WallPapers 正在创建目录:./Documents 正在创建目录:./WallPapers/MacOS . . .
5.您将看到已创建了一个名为$HOME/OneDrive的文件夹,其中包含OneDrive的内容。
我之所以说部分成功是因为onedrive崩溃并显示以下错误。
sqlite.SqliteException@src/sqlite.d(147): 数据库被锁定 ---------------- ??:? [0x6223bf12] ??:? [0x62251a7b] ??:? [0x62250caf] ??:? _D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ6runAllMFZ9__lambda1MFZv [0xb3cc9a0e] ??:? [0x62255cf4] ??:? __libc_start_main [0xb345a3f0] 分段错误 (核心已转储)
不确定是否是因为在已经忙于同步数据时运行了另一个 onedrive 实例所致。
我重新启动了一个全新的 onedrive,它仍在同步(下载)我的数据。

另一种方法是使用谷歌浏览器。
安装谷歌浏览器。 打开您的主文件夹并按Ctrl + h显示隐藏文件。 打开 .local/share/applications 文件夹。 在此文件夹中创建 OneDrive.desktop 文件。 用以下内容填写 Onedrive.desktop: [桌面条目] 名称=OneDrive 执行=google-chrome --app="data:text/html,<html><body><script>window.resizeTo(800,600);window.location='https://onedrive.live.com/';</script></body></html>" 说明= 终端=假 图标=web-microsoft-onedrive 类型=应用程序
我正在使用Linux Mint 19.2,并且安装了一个包含OneDrive图标的图标包,但你可以在“Icon”字符串中指定任何图标。结果是,你将在应用菜单中看到一个新的应用程序,点击它后,Chrome将会打开一个新窗口,显示你的OneDrive文件夹。别忘了使用Chrome保存密码,并在授权过程中勾选“保持登录状态”的选项。


嗨。这看起来比那个老旧的onedrive软件包要难一些。它有什么好处呢?(他们的GitHub页面没有明确说明) - kubanczyk

2018年,'skilion'客户端被放弃了,所有的开发都转移到了这里:https://github.com/abraunegg/onedrive
同样地,所有的Python客户端开发(xybu等)在2016年被放弃了。
要在Ubuntu上正确安装'onedrive'客户端,有两个选项:
  1. 如果使用的是Ubuntu 18.x及以下版本-从源代码编译
  2. 如果使用的是Ubuntu 19.x及以上版本-使用Ubuntu PPA
不要从'Universe'安装客户端,因为这将安装旧版本的客户端。 从源代码编译:
  1. 安装依赖项
sudo apt install build-essential libcurl4-openssl-dev libsqlite3-dev pkg-config git curl

安装编译器。
curl -fsS https://dlang.org/install.sh | bash -s dmd
  1. Activate the compiler
source ~/dlang/dmd-2.093.1/activate

克隆存储库
git clone https://github.com/abraunegg/onedrive.git

建立客户端
cd onedrive; ./configure; make clean; make;

6. 安装
sudo make install

更多细节请参考:

如有问题或需要支持,请在GitHub上提交问题工单。


现在是2022年,我很惊讶没有人提到这里的[rclone][1]解决方案。

我按照这里提供的说明进行操作,不到10分钟就成功将我的微软OneDrive连接到了我的Ubuntu 20.04上。


我刚刚找到了一个链接,里面有关于如何在Ubuntu上安装OneDrive的说明。
  1. 在终端中运行git clone https://github.com/xybu92/onedrive-d.git
  2. 如果你没有安装git,运行sudo apt-get install git来安装它,然后再运行第1步中的最后一条命令。
  3. cd onedrive-d进入刚刚下载的目录。
  4. ./inst install来设置OneDrive。
  5. 如果第4步中的命令要求安装一些依赖项,运行sudo apt-get install -f来修复它们,并在安装完依赖项后完成OneDrive的设置,或者你可以再次运行第4步来确保它被安装。
  6. 安装完成后,会出现一个窗口显示OneDrive的首选项。
  7. 点击连接到OneDrive.com,然后你应该能够登录你的Microsoft账户或OneDrive账户。
  8. 登录后,接受任何权限请求并保存任何偏好设置。
  9. 你的OneDrive文件夹现在应该位于你的主文件夹下/home/user/OneDrive
你需要设置一些额外的东西,以便在每次启动时自动启动,而不是每次都运行守护进程,并提供一些额外的信息。
  • OneDrive不会在启动时自动启动,所以你需要在启动应用程序中添加onedrive-d
  • 要进行任何更改,你可以使用onedrive-prefs打开首选项窗口。
  • OneDrive还有一个命令行工具,可以进行任何更改,比如创建一个新目录。onedrive-cli

更详细的信息可以在这里查看:https://www.maketecheasier.com/sync-onedrive-linux/