前回は「 #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
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内のフォルダーやファイルを参照できるようになりました。
一度起動すると次からはマウントポイントの指定も必要なくなり、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」による開発環境の構築です。まあ可能性が低いにしても将来への布石と思ってはじめたのですが、よく考えなくても自分の行動はそんなものばかりで、いい歳こいてそんな不確かな自分にオロオロしているところです。そかさ。