在Ubuntu中使用Onedrive

写在前面:Linux的OneDrive-d其实并不好用,我用的时候它有时候只将文件同步到云端,而不将云端文件同步到本地的情况,而且文档文件名不修改,它有时候就不同步,所以我用了没多久就卸载了(当然也可能是我的网络不行)。如果你仍然感兴趣,这篇文章是我根据github上的教程结合其他博主博客总结的步骤,可以作为参考。
这篇文章介绍使用开源社区的onedrive-d,使Linux系统实现微软的onedrive同步功能。除了Ubuntu之外,onedrive-d还支持CentOS、Fedora等Linux系统。

  • 文章发布时使用的系统版本:Ubuntu 18.04.2 LTS
  • 文章发布时使用的Python版本:Python 3.6.7
  • 依赖:
    gcc
    python3-dev
    libssl-dev
    inotify-tools
    python3-dbus (or probably libdbus-glib-1-dev)‘

1 安装准备

  • 首先检查python版本:
$ python3 --version
Python 3.5.2

如果出现python3 command is not found或者版本小于3.3,需要安装Python3:

$ sudo apt-get install python3
  • 安装依赖
$ sudo apt-get install build-essential python3-dev libssl-dev inotify-tools python3-dbus
  • 卸载老版本的onedrived
    onedrive-d的卸载也按照下面步骤
$ sudo pip3 uninstall onedrive_d onedrived
$ rm -rf ~/.onedrive ~/.onedrived

2.安装onedrived

  • git
$ git clone https://github.com/xybu/onedrived-dev.git
$ cd onedrived-dev
  • 执行安装前的测试
    使用下面两个命令中的一个:
$ python3 ./setup.py test

$ python3 -m pytest
  • 安装
$ pip3 install -e .

至此安装就完成了。

3 配置onedrived

  • 添加账户
$ onedrived-pref account add

然后会给你一个链接,在浏览器中打开链接,登录账户,授权,然后会进入一个空白网页,网页链接形如 https://login.live.com/oauth20_desktop.srf?code=xxx 这样的形式,复制这个空白网页的链接粘贴到终端确认。

  • 其他设置
$ onedrived-pref drive set

按照提示设置目录,选择账户即可。
4 启动onedrived
执行:

$ onedrived start

然后会发现启动完成,但是执行状态查看命令:

$ onedrived status

发现onedrive not running。这是因为onedrive-d需要ngrok才能运行,默认onedrived会在系统PATH中寻找ngrok,但是我们一般没有安装。
ngrok官网:https://ngrok.com 有下载地址。如果速度不稳定,可以到博主AlbertString的帖子里下载:https://blog.csdn.net/qq_24428705/article/details/79705651
运行时使用NGROK=path指定ngrok的文件地址,如我的ngrok文件在主目录的ngrok文件夹里面:

$ NGROK=~/ngrok/ngrok onedrived start

这时候查看onedrived状态可以发现正常运行了:

onedrived -- pid: 20955, status: sleeping, uptime: 0m, %cpu: 0.0, %mem: 1.2

你可能感兴趣的:(在Ubuntu中使用Onedrive)