google-drive-ocamlfuse 複数のGoogleDriveアカウントをubuntuで使う

NO IMAGE

Windows では、Google Drive Businessを利用しており、無制限のストレージを余すことなく堪能しているが、困ったことにUbuntuにはGoogle Driveクライアントが用意されていない。

WindowsだとGoogle Drive File Streamという、容量を圧迫せずに使える素晴らしいツールがあるのだが、それだけにLinux版がないのは惜しい。

そこで、PPAパッケージだがオンラインでGoogleDriveをマウントできる、google-drive-ocamlfuseを導入してみたので、その覚書を書いておきたい。

インストール

インストールはaptで行う。といっても標準リポジトリには入っていないので、リポジトリの追加から行う。なおPPAパッケージでソースが開示されていないので、万一の場合は自己責任で。

sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse

Google認証

続いてGoogleの認証を行う。引数なしで次のコマンドを実行すると、ブラウザが開き、認証を要求される。

認証が通ると認証情報は ~/.gdfuse 内に保存される。

google-drive-ocamlfuse

パーミッションを変更(共有する場合)

Googleドライブをマウントしたフォルダはパーミッションの概念がない。そのため、ほかのユーザーがアクセスできるように、/etc/fuse.conf内の、user_allow_otherのコメントを解除しておく必要がある。

sudo sed -i -e "s/^#user_allow_other$/user_allow_other/" /etc/fuse.conf

マウントする

ではマウントしてみよう。この例では、~/GDrive にリンクする。

mkdir ~/GDrive
google-drive-ocamlfuse ~/GDrive

これで、~/GDriveを開くと、Googleドキュメントの中身が表示されるはず。なおnautilusで開くと重いので、あまりおすすめしない。

また共有フォルダにする場合は、-o allow_other オプションを付ける。

google-drive-ocamlfuse -o allow_other ~/GDrive

複数のアカウントをマウントする

複数のアカウントを使いたい場合は、-labelオプションを使って認証する。

google-drive-ocamfuse -label [任意のラベル名]

ラベルは接続情報を切り替えるのに使用する。指定しない場合、defaultとなる。~/.gdfuse/内に、ラベル名のフォルダが作成され、そこに認証情報が保存される。

またマウントする時も、-labelオプションを使用する。

google-drive-ocamlfuse -label [任意のラベル名] ~/GDrive

ファイル共有をするなら -o allow_otherも入れるとよい。

マウントするフォルダを指定する

マウントするフォルダを指定したいときは、~/.gdfuse/default/config を編集する。このパスはあくまでデフォルトであり、コピーしてマウント時に指定することもできる。

設定ファイルを開くとたくさんの項目が並んでいるので、その中のroot_folder=に、ブラウザでGoogleDriveを開いた時の、URLのIDを指定する。(最後の/から右側の文字列)

root_folder=[マウントしたいGoogleDriveのフォルダID]

共有ドライブをマウントしたい場合

ただし上記の方法では共有ドライブ(旧名 チームドライブ)はマウントできない。マウントしたい場合は、もう一つパラメータを設定し、共有ドライブのIDを記述する。

team_drive_id=[マウントしたい共有ドライブのID]

なお共有ドライブのIDは、共有ドライブのルートをブラウザで見たときの、最後の/から右側の部分となる。

共有ドライブのルートをそのままマウントしたい場合は、root_folderを指定する必要はない。

1つのアカウントで複数のフォルダをマウントする場合

例えば共有ドライブと自分のドライブ、また共有アイテムをマウントしたいなど、1回のマウントで済まない場合、1つの認証情報で複数のフォルダをマウントできる。

その場合、マウントしたいフォルダの数だけ~/.gdfuse/default/configを任意の場所にコピーし、それぞれ編集する。

そして次のようにマウントする。

google-drive-ocamfuse -config [設定ファイルのパス] [マウントするパス]

起動時に自動的にマウントするようにするには

google-drive-ocamlfuseによるマウントは、再起動時には行われない。そこで自動的にマウントするようにするには、次のように行う。

(調査中)

まずマウントするためのスクリプトファイルを作成。.startup.shとする。

次にそのスクリプトを実行する~/.cron.confを作成。

中身は次のようにする。

@reboot ~/startup.sh

設定ファイルをcronに登録する。

crontab ~/.cron.conf

これで次回起動時から勝手にマウントされる…はず。

google-drive-ocamfuse

https://github.com/astrada/google-drive-ocamlfuse