見出し画像

WSLはWindowsユーザの救世主だ!

Windowsユーザーの皆さんお疲れ様です。Windowsの5月のアップデートでWSL2がついに正式リリースされましたね。WindowsでのUNIX開発環境がどんどん便利になる今日この頃、WSLのすばらしさについて語りたいと思います。

まず WSL とは何かということを軽く説明していきたいと思います。WSL は Windows subsystem for Linux の略です。WSL は標準でzshを搭載しているMacに遅れをとっていたWindows に突如登場した救世主です。

システムエンジニアなどは開発などをする上で、サーバーにアクセスしたり開発に必要なモジュールやフレームワークを使うのにどうしてもLinux OS を使う必要がありました。

そこで標準でUNIXのシェル環境zshが搭載されているMacに人が流れがちという現状があったと思います。しかしそこに突如現れたのが WSL です。

これは Linux システムコールを Windows カーネルが認識可能な状態に変換をして、 Windows カーネル上で処理をするというものでした。要は、Linuxの言葉をWindowsのわかる言葉に変換したわけです。

この時点ではいわば、”翻訳”ですよね。実際に行動をしているのはWindowsなわけですから、翻訳家を連れてきたみたいな状況です。

しかし、Linux システムコールを Windows に変換するという特性上どうしても制限というものが発生してきます。一番顕著な例でいくと例えば。

Dockerが WSL 上で動かないっていう問題は、結構困ってる人は多かったんじゃないかなと思います。Dockerが WSL 上でカーネルを起動することができないので、結局 Windowsで立ち上げたカーネルを WSL がにつないで使うっていうめんどくさいことをしなきゃいけなかったわけですね。

後は CUDAとかのGPUシステムやカメラとかのデバイスも使うこともできませんでしたね。

これがまあ今まで話してきたのが WSL 1の話ですが、今回導入された WSL 2っていうのは、このような問題を解決してくれるようなものになりました。

今まで Windows のカーネルを間借りしていたところをちゃんと Linux カーネルを導入することによっては一つの独立した仮想環境として扱うことができるようになりました。

ようは、翻訳家を連れてきてたのを、外人をそのまま連れてきたといった感じです。ネイティブスピーカーがいたほうが安心ですよね(笑)

よって、使用感的にはちゃんとしたバーチャルマシンを使ってるようなもんと大差ないものになります。よって、 WSL 2には独立した IP アドレスが振られて、ネットワークもWindows がから仮想イーサネットを作ってそこから接続してるというような形になっています。

WSL ターミナルしか出ないようなイメージもあると思うんですけど、ちゃんとデスクトップ環境を導入してあげればデスクトップ環境も使ってあげることもできます。これはちょっとマニアックな使い方になるんでまだおすすめはしないですねもうちょっと重たかったりするので。

ということで WSL についてちょっと話し過ぎてしまったんですけどでもこの辺で終わりにして、次回以降、実際に WSL 1と入れ方とかWSL2への変換の仕方とか解説していければいいなと思っております。

この記事が気に入ったらサポートをしてみませんか?