Slide 1

Slide 1 text

Windowsで開発する時代がやってきました abekoh 注: このスライドは2020/10に社内LTで発表、2022/10に一部修正したものです WSL2

Slide 2

Slide 2 text

WSL2とは?

Slide 3

Slide 3 text

● Windows Subsystem for Linux 2 ● 1とは別もの ● Windowsの仮想環境Hyper-V上でLinux動くやつ WSL2

Slide 4

Slide 4 text

はてブのホットエントリでよく見る ● Windows Subsystem for Linux 2(WSL 2)をセットアップしてみた ● Windowsで開発 ● WSL2: 開発環境構築&ツール開発ガイド ● 十数年ぶりにメインマシンを Windows にした - eagletmt's blog ● 完全なLinuxがWindows 10上で稼働する? 「WSL 2」とは やたらと環境構築記事流行ってる

Slide 5

Slide 5 text

● 自作PC組んで、2年ぶりにWindows触る ● ゲーミング目的6割、WSL目的3割、その他1割 自作PCのついでに試したい RTX3080とかいうクソデカGPUもゲット

Slide 6

Slide 6 text

● WSL2はこれまでのと何が違うのか ● インストール方法と諸注意 ● 使用感など ● 今後の展望 本日のおしながき

Slide 7

Slide 7 text

WSL2はこれまでのと何が違うのか

Slide 8

Slide 8 text

● Cygwin/MinGW ○ UNIXに似たなにか、UNIXライクなコマンドであれこれ ○ C/C++環境整える文脈で出てくるイメージ ○ 昔はお世話になりました ● Tera Term ○ sshするために別途必要 歴史的なやつ

Slide 9

Slide 9 text

● 当初はBash on Ubuntu on Windowsだった ○ 公式にはUbuntuしか環境ない ● Linuxっぽい何か ○ LXSS/LXCore.SYSでWindowsと うまく共存してるらしい ● (少し触った感じ、日本語扱うと もうダメダメだった気がする) WSL1 https://ascii.jp/elem/000/001/246/1246548/

Slide 10

Slide 10 text

● Hyper-Vハイパーバイザー上で 本物のLinux動かしてる ● 仮想マシン起動→bashコマンド 受付まで2秒程度 ● WSL2導入するとWindowsも 仮想化されるらしい (WindowsがRoot Partition, LinuxがChild Partitionに分離?) WSL2でどう変わった? https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/reference/hyper-v-architecture

Slide 11

Slide 11 text

● WSL2入れるor入れないでバックエンド変更可能 ● WSL2なし→Hyper-V(not Hyper-Vハイパーバイザ)上で動かす ○ Windows10 Proの場合、Homeだとまた違う方法で ● WSL2あり→WSL2をDockerの バックエンドとして指定可能 ○ WSL2上だけでDocker環境 完結させることができる Dockerまわり

Slide 12

Slide 12 text

図解 https://qiita.com/matarillo/items/ca1eecf8f9a3cd76f9ce#%E5%9B%B3%E8%A7%A3 Windows ホスト ここに並ぶ感じ?

Slide 13

Slide 13 text

インストール方法

Slide 14

Slide 14 text

● Windows Subsystem for Linux 2(WSL 2)をセットアップしてみた ● Docker Desktop for WindowsのバックエンドとしてWSL2を使用する ここ見たらおk

Slide 15

Slide 15 text

● Windows 10 Homeでも基本問題なし ○ 余計なこと考えるの面倒なのでなんだかんだ Proのほうが恩恵ありそう ● “May 2020 Update”入れなくてもOK ○ 無理やり入れると未対応ドライバとかでてきて バグる可能性あり 諸注意

Slide 16

Slide 16 text

使用感など

Slide 17

Slide 17 text

● 起動はやい ● 「これ動かんやん」みたいなの今のとこない ● ネットワークからさっとディレクトリ開ける ○ JetBrains系でデフォでかんたんに アクセスできた ● VSCodeもWSLモード勝手に使えるようになる ● Docker, Docker for Macよりずっと速い気がする (マシンスペックもあるが) 快適

Slide 18

Slide 18 text

Windows Terminalめっちゃいい 設定ファイルはjson

Slide 19

Slide 19 text

今後の展望

Slide 20

Slide 20 text

● Vmmemというプロセスのメモリ使用量が増え続ける問題 ● Issueが1年以上Openなまま https://github.com/microsoft/WSL/issues/4166 ● メモリサイズ固定で暫定対応 https://qiita.com/yoichiwo7/items/e3e13b6fe2f32c4c6120 メモリバグ?

Slide 21

Slide 21 text

● Preview版だが公開された https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-starte d ● DeepLearningやるためにネイティブLinux入れる必要なくなる! ○ PowerPoint使うため切り替えたりする必要なくなる NVIDIA CUDAの対応

Slide 22

Slide 22 text

● ARMアーキテクチャ版Macでどうなるか、、 ● 開発以外は個人的にWindows使い勝手好きなので、 業務でもWSL2可能なら切り替えたいかも Web開発でもWindows優勢の時代くるか?