「ASUS Chromebook C425TA」の導入レポート(その3)

前回は「 #ASUS_Chromebook_C425TA 」の #Linux 環境をオンにして、 #Visual_Stadio_Code をインストールをしたはいいけど #Dropbox 内のファイルにアクセスできない壁にぶち当たりました。

確認まで、すでに #Chromebook には #Chrome_OS 版のDropboxをインストールしてありました。そうです #Linux 上で稼働しているVisual Stadio Code( #VSC )はChrom OSのファイルサービスに直接のアクセスができないのです。

Chromebookの #ファイル アプリケーションを開くとファイルサービスが仲良く並んでいて、ファイルフラウザーだけ(現況確認にて)が横断的に利用できるようです。

ファイルサービスが並ぶ

というわけで、Linux環境内でDropboxを利用できるようにしなくてはなりません。「そんなんできんの?」なんて思いながら検索をかけると、普通にみなさんご利用になっているようすです。
早速、「[chromebook] Linux環境(Crostini)にDropboxをマウントする」を参考にしました。(感謝。)

#dbxfs というアプリケーションをインストールするのですが、そのためには #Python のパッケージ管理システムの #pip が必要とのことです。試しに #ターミナル に「pip3」と入力しても「なんのこと?」と言われてしまいました。で、参考にあった下のコマンドラインにてインストールします。(’$’は省いて次の’sudo’から選択してコピペしてください。)一度「Y/n」と確認がありますのでエンターキーを押して進めます。

$ sudo apt install fuse libfuse2 python3-pip

コマンドプロンプトが帰ってきたら、つぎにインストールしたpipを利用してdbxfsをインストールします。

$ pip3 install dbxfs

それぞれインストールに少し待ち時間があります。dbxfsは通常、「~/.local/bin」にインストールされるそうです。私の場合も同様でした。そうそう「~/」ってLinuxファイルサービスの現ユーザーのホームディレクトリを表しています。名前の頭にピリオドのついた「.local」はここでは不可視 #ディレクトリ (フォルダー)で、ファイルの場合もあります。

インストールが終了したら、Dropboxのファイルを呼び込みたい #マウントポイント を作っておきます。

$ mkdir ~/Dropbox
Linuxファイルの中に現れたDropboxディレクトリ

ChromebookのファイルサービスにDropboxという名前のディレクトリが現れます。そしたらマウントポイントを指定してdbxfsを起動します。

$ ~/.local/bin/dbxfs ~/Dropbox

すると次のように案内が現れます。

We need an access token. Perform the following steps:
1. Go to https://www.dropbox.com/oauth2/authorize?response_type=code&client_id=********
2. Click "Allow" (you may have to log in first)
3. Copy the authorization code.
Enter authorization code (Ctrl-C to quit): 

私の環境のターミナルでは文字列を選択すると「コピー」しちゃってくれます。(どうやらこれが初期設定かと、)1番のURLだけ選択(コピーされる)して、すかさずブラウザーに移ってURLを叩いて「authorization code」を取得しましょう。それでターミナルに戻って「Enter authorization code (Ctrl-C to quit): 」のコロンの後ろに右クリックしてペースト(←どうやらこれも初期設定かと、)します。ターミナルがアクティブな状態でうっかりキーボードで #ショートカット を打ってしまうと作業が堂々巡りになってしまうので注意が必要です。(最初は慣れないもので困りました。)

その後、「認証情報保存」と「エラーレポート送信」、「マウントポイント確認」について質問への回答(大文字と小文字のY/n)を要求されますが、基本は大文字「Y(イエス)」なのでエンターキーを押すだけです。また、その間にkeyring(鍵束)のためのパスフレーズを求められますので設定してください。

We're all connected. Do you want to save your credentials for future runs? [Y/n]
...
Enter new refresh token passphrase:
Enter new refresh token passphrase (again): 
Would you like to help us improve dbxfs by providing anonymous error reports? [Y/n] 
Do you want "/home/hustlemouse/Dropbox" to be the default mount point? [Y/n]

参考にしたページでは「ログインアカウントのパスワード」とありますが適当に違うものを入れても動作します。気に入らなかったら、あとでdbxfsを再起動したときにパスフレーズを間違えれば、アクセストークンの取得フェーズからのやり直しで新しいパスフレーズを作れます。

コマンドプロンプトが帰ってきたら、下のコマンドラインにてディスク容量と各ディレクトリの使用状況を確認します。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vdb         10G  3.8G  6.1G  38% /
none            492K     0  492K   0% /dev
devtmpfs        3.3G     0  3.3G   0% /dev/tty
/dev/vdb         10G  3.8G  6.1G  38% /dev/wl0
tmpfs           100K     0  100K   0% /dev/lxd
tmpfs           100K     0  100K   0% /dev/.lxd-mounts
run             3.3G   32K  3.3G   1% /dev/.host_ip
/dev/root       404M  272M  124M  69% /dev/.ssh/sshd_config
9p              3.9G  744K  3.9G   1% /mnt/chromeos
tmpfs           3.3G     0  3.3G   0% /mnt/external
/dev/vda         53M   52M     0 100% /opt/google/cros-containers
tmpfs           3.3G     0  3.3G   0% /dev/shm
tmpfs           1.3G  124K  1.3G   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           664M   16K  664M   1% /run/user/1000
dbxfs           2.1T  720G  1.4T  36% /home/hustlemouse/Dropbox

「ASUS Chromebook C425TA」の例では最終行のように2TBのディスクとしてDropboxがマウントされているのが確認できます。

VSCからもDropbox内のフォルダーやファイルを参照できるようになりました。

VSCから、Linuxファイルサービスのホームディレクトリ(hustlemouse)下にあるDropbox内のフォルダを参照する。

一度起動すると次からはマウントポイントの指定も必要なくなり、dbxfsを起動するだけです。でもパスフレーズ(Refresh token Passphrase)は求められます。

$ dbxfs
Enter refresh token passphrase (not your Dropbox password) (Ctrl-C to quit):

アンマウントの必要があれば、次のコマンドラインで行います。最終的にターミナルを終了してしまえば済むのであまり必要なさそうです。

$ fusermount -u ~/Dropbox

dbxfsを起動してすぐにアンマウントしようとすると、Dropboxをマウントしている最中だったりして「忙しいみたいよ。」と受け付けてもらえないことがあります。相手はクラウドですから、さすがに少し待ちましょう。

これでコーディングによる開発は行えるようになりました。

VSCが活用できますから、HTML5の開発であれば動作テストも行えます。でも、PHPの動作テストと、外部システムへのアップロードやデプロイなんてことはできません。そこら辺まで到達してようやくウェブサービスの開発環境が整ったといえるでしょう。つぎはとりあえずLinux環境への #FTP クライアントの導入を紹介します。

やれやれ、時間に余裕もないのに我ながら余計なことを始めたと猛省しています。いや、この投稿ではなく「Chrome OS」による開発環境の構築です。まあ可能性が低いにしても将来への布石と思ってはじめたのですが、よく考えなくても自分の行動はそんなものばかりで、いい歳こいてそんな不確かな自分にオロオロしているところです。そかさ。