リナックス、WSL)は、米国Microsoft社が開発・提供している、仮想マシンの上でLinux系仮想化OSを動かす仕組み。動作するようになり、様々なディストリビューションがほぼ遜色ない動作をするようになった。比較WSL1も引き続き利用できる(今のところ廃止予定はない)が、本稿ではWSL2を扱う。Windowsの正規ライセンスを持っている必要はある。Windows本体以外の追加料金は不要。商用Linuxディストリビューションを使う場合には、ゲストOSのライセンスが別途必要になることもある。Proはもちろん、Homeでも利用できる。ハードウェア要件は比較的緩いが、内部でHyper-V同様の仕組みが使われているため※、CeleronなどエントリークラスのCPUでは動作しないことがある(確認方法)。比較的低スペックのパソコンでも動作するが、快適に使うにはRAMは8GB以上(できれば16GB以上)用意し、ストレージのシステム領域にはSSDを使う方が良いだろう。追加インストールすることになるので、十分な空き容量を確保しておく必要がある※。インストールすることもできるが、あくまでWindowsが優先で、ホスト(Windows)側のリソース不足などでゲスト(Linux)が強制終了されることもあるので、サーバ用途にはLinuxを単体インストールする方が良い。WSL2ではVirtualBoxの技術が使われているため、他のVirtualBoxが動作していると競合して併用できないことがある。この場合はWSL1を使うと回避できる。仕組みが使われている。Windowsの機能としては「Hyper-V」は不要(もとい共存できない)。一例として、Ubuntuひとつでシステム領域に4GBくらい使う。アプリ類をインストールするなどして使うほど膨らんでゆく。画面の指示に従って進める(途中で再起動あり)スタートメニュー(の「おすすめ」)に「WSL」(ペンギンのアイコン)が追加されればOK。右クリックし、スタートにピン留めしておこう。動作する構成でインストールされる。他のディストリビューションを指定してインストールすることもできる。Storeでインストールすることもできる。複数のディストリビューションをインストールすることもできる(当然そのぶんのディスク容量が必要)。GUIアプリを使わない(Linuxはコマンドラインベースで事足りる)場合は省略可。Storeより追加インストールできる。コマンドプロンプトを開き、下記のコマンドで確認できる。2VERSIONはWSLのバージョン(WSL2/WSL1)を示す。シャットダウンWSL関連の全てのウィンドウが閉じて8秒経つと、WSLが自動的にシャットダウンする。停止状態の確認はコマンドプロンプトで下記コマンドを実行。PowerShell」を管理者として実行し、下記コマンドを実行。PowerShell」を管理者として実行し、下記コマンドを実行。リセット】を実行する。アンインストール】で削除できる。PowerShell」を管理者として実行し、下記コマンドを実行。ディストリビューション名。アンインストール】で削除できる。プラットフォーム】をOFFにする。UbuntuCUIの環境構築スタートメニュー(の「おすすめ」)に追加されている「Ubuntu」をクリックすると、コンソールが起動する。初回起動の際、画面の指示に従って、ログインIDとパスワードを登録する。管理者権限が必要な処理にはsudoを使う。Debian系なので、パッケージ管理にはaptを使う。何かと使うことになるので、まず最初にアップデートしておこう。-ybashが標準だが、tcshを使いたいときはこうする。公開鍵認証Linuxで生成した鍵ペアは、Windows側のエクスプローラで開くことができる公開鍵認証でサーバにログインしたい場合は、まずは鍵ペア(秘密鍵と公開鍵)を作成する。rsaWindowsエクスプローラを開いてフォルダツリーの下端にあるLinuxを開き、Ubuntu\home\(ユーザーID)\.ssh※を開くと、生成した鍵ペアファイルを取得できる(右図)。このうち公開鍵【id_rsa.pub】の内容をコピーして、サーバに登録すれば良い※。サーバにパスワードでログインできる状態の場合は、直接送ることもできる。~/.ssh/authorized_keys"ファイル名の先頭が「.」のファイルやディレクトリは、Linuxでは隠しファイル扱いだが、Windowsでは通常ファイル扱いで、隠しファイルを表示しない設定になっていても見える。LinuxのファイルをWindows側にコピーする際、「これらのファイルは、コンピュータに害を及ぼす可能性があります」といった警告メッセージが表示されることがあるが、確認して「OK」すればコピーできる。LinuxのGUIアプリをWindowsアプリ同様の感覚で使うことができる。Linuxアプリのインストールはaptを使ってコマンドラインで行う。geditダウンロード済みのDebianパッケージファイルをインストールする場合は、こんな感じ。sublime-text_build-4143_amd64.debインストールが完了すると、スタートメニューの「おすすめ」欄に表示されるので、スタートメニューにピン留めしておけば、スタートメニューから直接起動できるようになる。アンインストールもコマンドラインで行う。現状、WSL2のゲストOS(Linux側)でのインターネットアクセスにいくつかの制限がある。WSL1ではWindowsとLinuxでネットワーク接続が共用されていたが、WSL2ではホスト(Windows)とゲスト(Linux)は分離され、ゲストOSでは仮想化されたイーサネットアダプターが構築されて使われる仕組みになっており、これに伴う不便が生じている(Microsoftでは、このエクスペリエンスを改善する方法を検討しているそうだ)。値を取得する方法が案内されている。使えない(pingは使える)。IPv4通信しか使えない(IPv6は使えない)。日本語IMEは使える?WindowsのIMEがそのまま使える(Linux側にIMEは不要)IPv6は使える?今のところ、WSL2では使えない。対応に取り組んでいるそうだ。Windowsのショートカットキーを使えるし、Alt+PrintScreenでスクリーンショットを撮れる。ウィンドウの大きさは変えられる?任意に変えられる。GUIアプリによっては、ウィンドウサイズの変更に追従できないものもある(その場合はGUIアプリを一旦終了してからサイズ調整する)。ファイルの操作はどうする?Windowsエクスプローラを開くとフォルダツリーの下の方に「Linux」が追加されており、この下にディストリビューション毎にマウントされるので、簡単にファイルをやり取りできる。...にWindowsファイルシステムがマウントされるので、Linux側からWindowsのファイルを読み取ることもできる(管理者権限が必要)。使えない機能はある?シリアルポートなど、ハードウェアへのアクセスは未提供。プロジェクトが使えるようになった。サーバの運用はできる?現状、WSL2のネットワークは特殊なので、サーバの運用はできないことはないが、WSL2に限った特殊な条件に合わせる必要が生じる。WSLではあくまでWindowsが優先で、ホスト側(Windows)のリソース不足などにより自動的にLinuxが終了させられることもある。Linuxでサーバを運用したい場合は、Linuxを直接インストールするのが賢明。BY-NC-SAのライセンスで利用できます。