Linux で Google Drive を使う方法は google-drive-ocamlfuse
一択かなーと思っていたら、Grive というオープンソースのソフトを知ったので入れてみました。google-drive-ocamlfuse は fuse でマウントできるのに対し、Grive は Windows 版の Google Drive クライアントのように同期させるためのソフトです。(Google ドキュメントで作成したファイルは同期されません)
fuse でマウントすると、ローカルにデータを置いておかなくてもバックエンドで Google Drive にアクセスして省スペースになりますが、ネットワークが切れたり、通信コストを抑えたい場合に厄介です。Grive は二重にデータを保持するもののネットワーク環境がなくてもデータが利用可能ですし、Grive を単体で使うと自動同期もしないので、ユーザーが好きなタイミングで同期することができます。
自分にぴったり…! ピコーン (‘A`)
公式サイト
LMDEやDebianのリポジトリにあって、APT で降ってくる grive
を最初に入れたものの使えず、調べてみると新しいバージョンを使った方がいいらしいです。 ということで、Github から入手してビルドします。
インストール方法は、公式の手順のとおりです。
1. ビルドに使うものをインストール
C++ 方面の団体さんがお着きです。
sudo apt-get install git cmake build-essential \
libgcrypt11-dev libyajl-dev libboost-all-dev \
libcurl4-openssl-dev libexpat1-dev libcppunit-dev \
binutils-dev
2. ダウンロード、ビルド、インストール
cd /tmp
git clone https://github.com/vitalif/grive2.git
cd grive2
mkdir build
cd build
cmake ..
make -j4
sudo make install
インストールすると次の位置にコマンドが配置されました。
$ sudo make install
[ 78%] Built target grive
[ 83%] Built target btest
[ 98%] Built target unittest
[100%] Built target grive_executable
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/bin/grive
-- Installing: /usr/local/share/man/man1/grive.1
3. 初回設定
初回の Google アカウント認証は WWW ブラウザ経由で行います。 同期用のディレクトリは作成されないので、自分で作って移動します。 最初、ホームディレクトリで grive
コマンドを実行してしまい焦りました。(-p dir
オプションを指定することにより、ディレクトリを指定することも可能。省略時はカレントディレクトリです。)
$ mkdir ~/GoogleDrive
$ cd ~/GoogleDrive
$ /usr/local/bin/grive -a
-a
オプションが初回の認証を行うオプションです。認証用 URL が印字されるので、そのリンクを WWW ブラウザで開きます。
$ /usr/local/bin/grive -a
----------------------
Please go to this URL and get an authentication code:
https://accounts.google.com/o/oauth2/auth?... # ← 認証コード
-----------------------
Please input the authentication code here:
(ここに認証コードをコピペ)
Reading local directories
Reading remote server file list
Synchronizing files
...
認証コードを貼りつけた後は、Return キーを押してそのまま待ってください。手癖で C-d
などタイプしてしまったら、そのまま終了してしまいます(終了させてしまいました)。 あとは Google から降ってくるファイルを淡々と眺めていくだけです。
初回の同期に終了すると
Finished!
と表示されてコマンドが終わります。
4. その後の同期
あとは、
$ cd ~/GoogleDrive
$ /usr/local/bin/grive
または
$ /usr/local/bin/grive -p ~/GoogleDrive
とすれば、同期することができます。Ubuntu では grive-tools
パッケージを入れたら常駐型の GUI ソフトが入って自動同期してくれるようですね。僕の場合は、Git のプッシュとプルのようにマニュアル同期の方が助かるのでこれ以上の設定はしませんが、ユーザー権限で動く grive
を cron に登録しておけば自動同期も可能だと思います。