目次

wslあれこれ

wslのターミナル画面を閉じてもwslが自動シャットダウンしないようにする簡単な方法

  前提:linux系、tmuxコマンドが存在すること

wslを起動してターミナルの画面が開き、シェルが起動したら、tmux(仮想スクリーン)コマンドを起動し、デタッチしてシェルから抜け、ターミナルの画面が閉じたら後は放置で大丈夫。

tmuxについては、下記などをご参考に。

https://qiita.com/nmrmsys/items/03f97f5eabec18a3a18b

wslからwindowsで動いているmariadbに接続できない!

wsl上のdockerからも同じく接続できず!

原因

windowsのfirewallがブロックしている!

windowsのfirewallを停止させると、あっけなくwslから通信できた!!

対策

なんかあんまり情報が出てこない・・・

しゃーないので、windowsのfirewallに設定を追加だな。

firewallを起動して、受信の規則に新規追加・・・

全般-操作-接続を許可する、を選択。

プロトコルおよびポート-ローカルポートに開通させたいポート番号をカンマで区切って。(今回はmariadbなので 3306)

おまけで・・・スコープ-リモートIPアドレスに、wsl=windowsのローカルIPアドレスを追加。 (なぜなら、wslからwindowsへ接続しに来るときのIPアドレスはなぜか、ローカルIPアドレスだったので。IPアドレス制限しないなら不要だな。)

wslのネットワークいろいろ

何にもしないでwslを立ち上げたとき、ホスト側からwslのサービスに接続する場合は localhost と指定すればよいらしい。

じゃあ 127.0.0.1 では?ダメでした。どうやらipv6でやっているみたい。::1ですね。

ブラウザでwslのwebサーバーへ接続すときは、http://localhost/ もしくは http://[::1]/ となります。

また、デフォルトのままだと、ホスト側のサービスとwsl上のサービスで同じポート番号を使うことはできないようです。

wslのIPv4アドレスはどこで決めている?

windows側のコマンドラインから、以下のレジストリ値を見る。

  C:\> reg query HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss /v NatIpAddress
  
  HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
      NatIpAddress    REG_SZ    172.21.43.109

dockerとの併用

wsl上でdockerを利用する際のあれこれ。

phpでサイト構築等やる場合、ソースコードはwslのファイルシステム上に置き、windowsからwslのファイルシステムにアクセスする際は、ネットワークドライブ経由とする。ドライブ文字(Z:とかW:とか、何でもよい)を割り当てるのが簡単。

理由:ソースコードをwindowsのローカルファイルシステム(C:等)に置き、wslのdockerで /mnt/c/ などとして参照すると、ファイルアクセスが非常に遅い。裏でファイルを何やら変換する処理が走っているらしい。



61nk7be2zql._ac_sx450_.jpg
キオクシア KIOXIA 内蔵 SSD 1TB NVMe M.2 Type 2280 PCIe Gen 4.0×4 (最大読込: 5,000MB/s) 国産BiCS FLASH TLC搭載 国内正規代理店5年保証 EXCERIA PLUS G3 SSD-CK1.0N4PLG3N