Raspberry PiでGoogle Driveを使うハウツー記事はすでにいくつかありますが,実際に自分でやってみたらいくつかハマリポイントがあったので,やり方をまとめておきます.
##環境など
- Raspberry Pi 3 Model B+
- Raspbian Lite(GUIなし) ←ラズパイ上でブラウザは起動しない
- ラズパイの操作は全てssh接続で行う
- Google Driveクライアントはgoogle-drive-ocamlfuse
- 検証した日 ... 2019年11月12日
google-drive-ocamlfuseのインストール
ラズパイ上で以下のコマンドを実行します.
sudo apt-get upgrade
sudo apt-get install opam mccs
opam init --solver=mccs
opam update
opam install depext
opam depext google-drive-ocamlfuse
opam install google-drive-ocamlfuse
opam
コマンドはroot実行非推奨とのことです.
opam init
をするときにデフォルトのsolverを使うとSolver Failedで落ちるので,mccs
を導入し,それをopam init
のsolverに指定することで落ちるのを回避しています.
マウント先のディレクトリを作成する
GoogleDriveフォルダをマウントするディレクトリを作成します.ホームディレクトリ直下に作るならmkdir ~/googleDrive
のようになるでしょう.
google-drive-ocamlfuseの認証をする
通常であればgoogle-drive-ocamlfuseを実行するとブラウザが立ち上がるので,そこでログインすれば認証できます.しかし,今回はラズパイの操作をssh上で行っているため,ニセのfirefoxを作成し認証に介入します.
まず,カレントディレクトリにfirefox
という名前で以下のスクリプトを作成します.
#! /bin/sh
echo $* > /dev/stderr
このスクリプトに実行権限を付与します.
chmod 777 firefox
続いて以下のコマンドでOAuth認証を起動します.
PATH=`pwd`:$PATH ~/.opam/default/bin/google-drive-ocamlfuse
すると,https://accounts.google.com で始まる URLが表示されます.URLが表示された端末を開いたまま,お手元のブラウザで表示されたURLを開いてください.Googleの認証を求められるので,素直に従って認証します.
端末に以下の文字列が表示されたら認証成功です.
Access token retrieved correctly.
GoogleDriveフォルダをマウントする
~/.opam/default/bin/google-drive-ocamlfuse ~/googleDrive
これで~/googleDrive
にめでたくお使いのGoogleDriveがマウントされたと思います.
##参考にしたURL
- https://kamchatka.blog.ss-blog.jp/2018-10-07 (全体の手順)
-
https://github.com/ocaml/opam/issues/3827 (
opam init
のエラー回避) - http://moguno.hatenablog.jp/entry/2016/03/24/010502 (sshでの認証方法)