UbuntuでOneDriveのファイルを使うにはブラウザ越しにダウンロード/アップロードする必要があり使い勝手が悪いです。Windows10ではエクスプローラ上に OneDriveのフォルダが自動的に表示されていて、ネットワークの向こう側だとか全然気にせず使えて非常に便利です。
Ubuntuでも、Windows10と同等の使い勝手を手に入れましょう。
TL;DR
覚え書きです。SSとってなかったので文字ばっかです…
ググるとonedrive-d
というのが結構出てくるんですが、githubが404でした。
なので OneDrive Free Clientを使います。
実は、ここの READMEか下記参考リンク先を読めば、このあとは読む必要ありません。
※ コメントでいただいた通り、skilion/onedrive
は最新版のcurlに対応していないので、こちらのabraunegg/onedrive
を使用した方がよいと思います。手順の変更箇所は、git clone
元を変更すれば大丈夫です。
abraunegg/onedrive
のREADMEが色々書いてあって詳しいので是非読んでみてください。
環境
Ubuntu16.04 64bit版を使いました。
必要なソフトのインストール
下記が必要なのでインストールします。
- libcurl
- SQLite3
- Digital Mars D Compiler
コマンドはこんな感じで、Dコンパイラのバージョンは適宜変更して下さい。
$ sudo apt-get install libcurl4-openssl-dev libsqlite3-dev gdebi
$ wget http://downloads.dlang.org/releases/2.x/2.073.2/dmd_2.073.2-0_amd64.deb
$ sudo gdebi dmd_2.073.2-0_amd64.deb
OneDrive Clientのインストール
適当なディレクトリにクローンして makeします。
$ git clone git@github.com:skilion/onedrive.git
$ cd onedrive
$ make
$ sudo make install
設定ファイルのコピー
クローンした設定ファイルを、設定ファイル用ディレクトリにコピーします。
$ mkdir -p ~/.config/onedrive
$ cp ./config ~/.config/onedrive/config
この configファイル内のsync_dir
を変更してやれば、同期するディレクトリを変更できます。
サービスの起動
OneDriveのサービスを起動します。
$ systemctl --user enable onedrive
$ systemctl --user start onedrive
初回起動
サービスが起動したら、onedriveコマンドを実行します。
$ onedrive
ターミナルにメッセージが表示されます。
Authorize this app visiting:
のあとに URLが表示されるので、これをコピーしてブラウザでアクセスします。
Microsoftアカウントのログイン画面になるので、OneDriveを使用するアカウントでログインします。
Let this app access your info?
と聞かれるので、OneDriveクライアントから操作できるようにするためYes
ボタンを押します。
すると、白紙のページが表示されるので、そのページの URLをコピーします。
ターミナルで先ほどコピーした URLの更に下の方にEnter the response uri:
と表示されているので、いまコピーした白紙ページの URLを貼り付けます。
すると、OneDriveとの同期が始まります。
次回以降の起動
Startup Applications
にonedrive -m
を登録しておきます。
※ 上記は実行する必要がありません。詳しくはコメントを参照下さい。
参考リンク