Googleドライブは使いやすい無料のクラウドストレージですが、WindowsとかMac、Androidにはローカルディスクと同期できるアプリが用意されているのですが、Linuxはサポート外でアプリがないです。

2019-11-18_18-10

Googleドライブが言うには、webブラウザ上でやるかスマホでやれってことです。
しかし、Linuxを舐めるな!と言うことで、Googleドライブと同期するプログラムが公開されています。
以前に紹介したアプリは、Open DriveというGoogleドライブ風のGUIクライアントでしたが、今回は別の方法でトライします。



google-drive-ocamlfuseというプログラムです。これは端末からインストールできます。

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

インストールが完了しても何も起こりませんので、端末からプログラムを起動します。

google-drive-ocamlfuse

そのままプログラム名をタイプしてエンターを押せば起動します。まず、ブラウザが立ち上がってGoogleアカウントの認証画面が出ます。画面の指示に従って任意のアカウントを選択して下さい。アカウントの選択が済むと、アプリケーションがアカウントへのアクセス許可をリクエストするので、いけずにならずに許可してあげて下さい。これも画面の指示に従ってセットアップするだけです。30日の期限を設けることも出来ます。許可してあげると準備完了です。この作業は最初の一回だけで、設定が済むとアクセス許可が切れるまで再設定の必要はありません。

2019-11-18_18-02_1

準備は整ったので、Googleドライブをローカルスペースにマウントします。まず、Googleドライブをマウントするフォルダを作成します。私はhomeに「GoogleDrive」というフォルダを作成しました。端末から、このフォルダにマウントするコマンドを渡します。

google-drive-ocamlfuse ~/GoogleDrive

青文字の箇所は任意の場所(マウント先のフォルダのパス)を指定します。

マウントして同期するフォルダ(私の場合、homeの「GoogleDrive」)を開いてみると・・・おお、ファイルが現れました。同期しています。試しにファイルを削除や追加してみると、両方ともちゃんとリアルタイムで同期表示しています。これは良いぞ!

2019-11-18_18-02

しかし、Googleドライブを日常的に活用している人は、Linuxにログインする度にマウントしなくてはGoogleドライブのローカル表示操作ができません。このプログラムは自動ではマウントしてくれないので、先程のマウントのコマンド(google-drive-ocamlfuse ~/GoogleDrive)を「セッションと起動」から自動開始アプリに追加するか、.profileに書き込めば、ログイン時に自動でマウントしてくれます。意識することなくローカルフォルダ、ローカルファイルと同じように扱えるので、ファイル操作が格段と楽になりますね。

2019-11-18_18-41

↑この辺は、以前にdevilspieなんかを設定した時と同じような感じでサクッと行けると思います。

私の場合は、しょっちゅうGoogleDriveを利用することはないので、自動起動やプロファイルには入れません。必要な時にログインして利用するので、その都度コマンドで接続できればいいです。とは言っても、端末を立ち上げたりコマンドを入力するのは面倒なので、Thunar(ファイルマネージャ)の右クリックからマウントできるようにしました。メニューの編集からカスタムアクションの設定を開きます。新しいカスタムアクションの追加(右の+アイコン)を選択してアクションを作成します。名前:任意、コマンド:「google-drive-ocamlfuse ~/GoogleDrive」、登場条件:全部、アイコンは適当に見やすいもの、で作成しました。設定が正しければ、ファイルマネージャを開いて、適当なフォルダやファイルを指して右クリックするとメニューが表示されるので、設定したカスタムアクションを選択すればGoogleDriveをマウントします。

2019-12-24_22-39

2019-12-24_22-30

上記の要領で、GoogleDriveのアンマウントカスタムアクションも作ってみました。名前:任意、コマンド:「fusermount -u ~/GoogleDrive」、登場条件全部、アイコンは適当(分かりやすいようにマウントのアイコンをグレースケールにした)、です。ちゃんとアンマウントできました。

スクリーンショット_2019-12-24_22-58-10

以上ですが、これはローカルスペースにGoogleドライブをネットワークドライブとして同期表示しているだけなので、回線を切るとローカルの方は空っぽ(非表示)になるかフォルダを開けなくなるかになってしまいます。オフラインでも使いたい人は、この同期フォルダとは別にバックアップ用のフォルダを作り、rsyncなどのコマンド操作やFreeFileSyncなどのアプリを使ってミラー同期するか手動でバックアップして、オンラインになった時に整理するとかの手間が必要になると思います。

マウントを解除したい場合は、以下のコマンドで解除できます。ファイルマネージャーからアンマウントしようとしたが、エラーメッセージが出てアンマウントに失敗してしまいますので、コマンドを覚えておいて下さい。

fusermount -u ~/googledrive

2019-11-18_18-48


今回はMint 19(Xfce)でやりましたが、UbuntuやUbuntu派生ディストリでもこの方法で行けると思います。