WSL2 Ubuntu20.04にGoogleDriveをマウントする方法

Windows11のWSL2 Ubuntu20.04において、WSLを起動時にGoogleDriveを自動でマウントする方法を紹介します。

google-drive-ocamlfuseというツールを利用しますが、設定方法はすべてGithubに公開されています。下記の内容は2023年5月時点での情報なので、何かエラーが発生した場合はGithubをご確認ください。

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

google-drive-ocamlfuseのインストール

aptコマンドでインストールします。

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

手動でGoogleDriveをマウント

まず、GoogleDriveを手動でマウントします。

最初のマウント時に認証を通す必要がありますが、今回はGithubのwikiに載ってあるヘッダレスの方法(CUIのみを利用する方法)で認証を通します。(参考:Headless Usage & Authorization

まず、CUIのみで認証を通せるように、下準備を行います。マウントポイントとして、~/Gdriveを利用しています。

cd ~
mkdir Gdrive
echo $'#!/bin/sh\necho $* > /dev/stderr' > xdg-open
chmod 755 xdg-open
sudo mv xdg-open /usr/local/bin

次に、GoogleDriveをマウントします。端末に表示されるURLにWindows側のブラウザからアクセスして、認証をおこなってください。

$ google-drive-ocamlfuse ~/Gdrive
https://accounts.google.com/o/oauth2/auth?client_id=....  <-- ココのURLにアクセス
Access token retrieved correctly. <--認証が通ると表示される

Access token retrieved correctly.が出力されると正常に終了しています。~/GdriveにGoogleDriveのファイルが表示されているはずです。

WSL起動時に自動でマウントする

次に、WSL起動時にGoogleDriveが自動でマウントされるように設定していきます。

自動マウントの方法はGithubにいくつか紹介されていますが、Ubuntuではsystemdを利用した方法が馴染み深いかなと思うので、ここではsystemdを利用した自動マウントを行います。(参考:Automounting

wslにsystemdを有効化

WSL Ubuntuではsystemdは対応されていますが、デフォルトでは有効化されていません。

systemdを有効化する方法を下記の記事で紹介しているので、まだ有効化していない人は下記の記事を参考に有効化してください。

serviceの作成

systemdで利用するserviceファイルを作成します。まず、/etc/systemd/system/google-drive-ocamlfuse.serviceを作成します。{mountpoint}と{username}は適宜変更してください。

$ sudo vim /etc/systemd/system/google-drive-ocamlfuse.service
[Unit]
Description=FUSE filesystem over Google Drive
After=network.target

[Service]
User={username}
Group={username}
ExecStart=google-drive-ocamlfuse {mountpoint}
ExecStop=fusermount -u {mountpoint}
Restart=always
Type=forking

[Install]
WantedBy=multi-user.target

serviceの登録

次に、自動起動を登録します。

sudo systemctl enable google-drive-ocamlfuse.service

これで完了です。一度wslを再起動して、GoogleDriveが自動マウントされることを確認してください。

まとめ

この記事では、WSL2 Ubuntu20.04でGoogleDriveを自動マウントする方法を紹介しました。

WSLはsystemdにも対応していることもあり、簡単に起動時の設定ができるようになりましたね。

  • この記事を書いた人

たかさん

犬と暮らすクラウドエンジニア。GCPが好きだけど良く触るのはAWSとAzureです。

-WSL
-,