rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

googleドライブを同期するocamlfuseをubuntuにインストール

2022 Sep. 15.
2022 Feb. 11.
2021 Nov. 21.
2021 May 23.
2021 Apr. 29.
2021 Feb. 27.
2021 Feb. 23.

出典 Ubuntu20.04でGoogleドライブを同期させたので手順を書く | 非IT企業に勤める中年サラリーマンのIT日記

パッケージインストール

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


Googleアカウント認証

認証開始
$ google-drive-ocamlfuse

認証

google-drive-ocamlfuseコマンドでブラウザが起動しアカウント認証画面が開く。
画面に従って次の作業を行う。

  • アカウント特定画面になるので、googleドライブを利用するアカウントを入力する。
  • gdfuseによるアカウントへのアクセスの許可を求める画面になるので、「許可」ボタンをクリックする。
  • 選択したアカウントへのアクセスを許可する画面(確認画面)が表示されるので、「許可」ボタンをクリックする。
  • 再度googleアカウントのログインを求められるが、この時、デフォルトのアカウントが利用するgoogleドライブのアカウントとなっていないことがあるので、注意する。
  • ブラウザに表示される文字列をシェルに入力するプロセスは無い。


sambaサーバーがocamlfuseディレクトリをクライアントに表示できるようにする

/etc/fuse.confを編集する。
デフォルトでコメント行となっている"#user_allow_other"を有効化する。

- #user_allow_other
+ user_allow_other


googleドライブディレクトリ設置

googleドライブにマウントするディレクトリを作成
$ mkdir ${HOME}/YOUR/OCAMLFUSE/DIR

作成したディレクトリをgoogleドライブにマウント
(sambaクライアントからのアクセスを可能にする場合)
$ google-drive-ocamlfuse -o allow_other ${HOME}/YOUR/OCAMLFUSE/DIR
      -o allow_other : sambaに表示されるようになる

(sambaクライアントからアクセスしない場合)
$ google-drive-ocamlfuse ${HOME}/YOUR/OCAMLFUSE/DIR


PC起動時の自動マウントをsystemdに一般ユーザーとして設定

systemd設定ファイル作成
(作成したgoogleドライブディレクトリとgoogle-drive-ocamlfuseコマンドのフルパスを控えておく)
$ which google-drive-ocamlfuse

(一般ユーザーのsystemd設定ファイルディレクトリ作成)
$ mkdir -p ~/.config/systemd/user
(userはユーザー名ではなく、userというリテラル)

~/.config/systemd/user/mount_ocamlfuse.service を次の内容で作成する。

[Unit]
Description=Mount ocamlfuse-dir on google-drive
 
[Service]
Type=oneshot

# Sambaクライアントからのアクセスを可能にする場合
ExecStart=/FULL/PATH/OF/google-drive-ocamlfuse -o allow_other /home/USER/YOUR/OCAMLFUSE/DIR

# Sambaを利用しない場合
ExecStart=/FULL/PATH/OF/google-drive-ocamlfuse /home/USER/YOUR/OCAMLFUSE/DIR

RemainAfterExit=yes
 
[Install]
WantedBy=default.target

systemd設定の有効化
$ systemctl --user enable mount_ocamlfuse
$ sudo reboot    ## PCを再起動する

一般ユーザーでのsystemctlコマンド利用

オプションに"--user"を付ける

$ systemctl --user enable ...
$ systemctl --user start ...
$ systemctl --user status ...
$ systemctl --user restart ...


systemd一般ユーザー設定参考サイト
 サーバー起動時に非rootユーザーでsystemdを使ってサービスを立ち上げる - Qiita
 systemd/ユーザー - ArchWiki
 systemdでユーザー固有のunitを動かす - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

ocamlfuseディレクトリのアンマウント

$ fusermount -u /home/USER/YOUR/OCAMLFUSE/DIR


「通信端点が接続されていません」エラー対応

$ fusermount -u /home/USER/YOUR/OCAMLFUSE/DIR
$ google-drive-ocamlfuse /home/USER/YOUR/OCAMLFUSE/DIR