Falconの思うままに

PASCAL好きが、気ままにマニアックなネタを

WSLの共有フォルダ

さて、WSLを触って大満足な現在ですが、

WSL内のフォルダを外部共有したいといじっていて

どうしてもできない(涙)とあきらめかけていました。

 

これをやりたい理由ですが、noderedのstaticなファイル置き場

を共有してデプロイフォルダにしたかったからです。

開発はvscodeでやって本番デプロイは共有においてねと

やれば、即noderedのwebサーバーはhtmlファイルを表示してくれます。

 

noderedの静的コンテンツの表示機能は大変便利なものです。

dashboardを使っていてもフロントエンドのhtmlファイルを置いて共存できますね。

 

ということでwsl内のnoderedに共有フォルダを定義しないといけないと

頭が凝り固まっていました。

sambaをインストールして共有フォルダを公開までしても、

wslなのでwindows側の共有機能とポートが被ってしまいます。

前回書いたように、bridge機能で起動すれば別IPになるので、

そこでwslの共有フォルダを公開することはできます。

でもそれですと中のnicが1つになってしまって中からすべてのnicにアクセス

できないことが判明。 (逆に複数nic対応できればこの問題はこれで解決)

なのでmirroredモードでシームレスになるとベストですが、wsl側のフォルダ

を公開できない......

ここまで書いて「頭堅い人だな....」と気づいた人はすごい。

そう、発送の逆転でした。

windows側でフォルダを共有できるのは当たり前なのだから

素直にそれ使えばいいじゃない?」

ですね。

wsl側は /mnt/c/hogee でcドライブが見えるのでそれをnodered

の静的コンテンツ置き場に指定すればよかったのです。

さらには/mnt/cに抵抗がある私みたいは人はシンボリックリンクを貼って

ln -s /mnt/c/hoge /home/user1/hoge

として /home/user1/hogeをnoderedの定義に書いておけばOKでした。

 

これでnoderedの静的コンテンツフォルダを公開できました。

 

頭がlinux使いになっていると気づかないパターンですね。

 

せっかくのwslなので両者の便利な機能を使わないといけません。

なのでPowerShellもどんどん触っていきましょう。

 

Windows11にあるWindows Terminalは

PowerShell,Ubuntu,Command Promptどれも一発で起動できて

とても便利なツールですね。

 

ではでは。