UbuntuでOneDriveを使う(skilion / onedrive)
投稿者: 無謀庵 / 2016年8月12日 - 01:28 / カテゴリー: PC
最近ちょっと勉強のためにUbuntuを使い始めているのだけど、とりあえずOneDriveを使いたい。しかしLinuxで使える公式なクライアントはない。
検索して手段を探ったところ、ヒットしたのがこちらのページだったのだが、ちょっと情報が古いらしく、GitHubにonedrive-dがなかった。
代わりにskilion / onedriveというものがあったので、そちらをインストールしてみた。
まあ、README.mdの通りにやっただけではあるのだが、私にはこれがコマンドラインからmakeしてinstallするのは初めてで、それなりに困った。が、なんとかうまく行った。
よってこの記事は、タコが無茶苦茶やってる可能性が否定できない。参考にするときはご注意、また、よその環境でうまく行かなくても、私にはその原因を究明するスキルはない。
まず端末を開いて、初期状態でgitコマンドがなかったので、そのインストールからになった。
sudo apt install git
使用ディスク容量とかで確認があったが、もちろんY回答。
次にGitHubからskilion / onedriveをクローンする。
git clone https://github.com/skilion/onedrive
そうすると、ホームディレクトリにonedriveディレクトリができ、そこにファイルがコピーされた。(今回は、カレントディレクトリがホームの状態で実行した。カレントディレクトリが別ならその下にonedriveディレクトリを作ってコピーするのかもしれない)
次に、依存関係のあるアプリを先にインストールしておくのだけど、ここは一箇所README.md通りではいかないところがあった。
sudo apt-get install libcurl-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libsqlite3-dev
sudo wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
wget -qO – http://dlang.org/d-keyring.gpg | sudo apt-key add –
sudo apt-get update && sudo apt-get install dmd-bin
この5行がREADME.mdに書かれていたので順に実行したが、一行目のlibcurl-devはそのままではインストールできなかった。エラーメッセージにしたがって、libcurl4-openssl-devを指定すると大丈夫だった。
これらのインストールがつつがなく終わったら、gitで持ってきたonedriveディレクトリにカレントディレクトリを移動。そしてmakeしてインストール。
cd onedrive
make
sudo make install
これでonedriveのインストールはできている、はず。
$ sudo make install
install onedrive /usr/local/bin/onedrive
install -m 644 onedrive.conf /usr/local/etc/onedrive.conf
install -m 644 onedrive.service /usr/lib/systemd/user
ちなみにうまく行っていたときの端末の表示はこれだけ。Successfully installedとかいわない。
さあ使用開始だ、といきたいが、初回はOneDriveへの認証がいる。
onedrive
端末で実行すると、
Authorize this app visiting:
https://login.live.com/oauth20_authorize.srf?client_id=********&scope=onedrive.readwrite%20offline_access&response_type=code&redirect_uri=https://login.live.com/oauth20_desktop.srf
Enter the response uri:
こんな表示が出る。URLを右クリックから「リンクを開く」で開くと、ブラウザがリダイレクトして、Microsoftアカウントへのログインやら、アクセス許可の認証やらが出るので許可する。
ブラウザは最終的に真っ白なページを表示するが、慌てずにそのページのアドレスをコピー。そして、Enter the responce uri: に貼り付ける。なお端末への貼り付けはCtrl + Vではできない。Shift + Insならできた。
無事認証できると、勝手にどんどん初回同期、つまりクラウドからファイルをコピーし始める。
onedriveコマンドは実行するたびに同期する、という動作。Windowsクライアントみたいに常時フォルダを監視してリアルタイム同期したい場合は、
onedrive -m
を実行しておくと、そのようにしてくれる。
また、このインストール手順だと、ホームディレクトリ直下にOneDrive(クラウドのファイルが同期されるディレクトリ)とonedrive(インストールファイルが置かれたディレクトリ)のふたつのディレクトリができてしまう。onedriveの方はインストールが終わったら削除で。