見出し画像

WSLを快適に使うためのメモ

背景

  • WSL(Windows Subsystem for Linux)のおかげで、Windowsでも気楽にLinuxが使えるようになり、便利になった

  • 一方で、MainsystemとSubsystemの連携で、知識を必要とする印象は拭えていない(個人的に)

  • WSLを使うときのトラブルを減らすための個人的なメモ

環境

  • Windows 11

  • WSL バージョン: 2.0.14.0

バージョンについて

  • バージョン1系と2系がある

  • 2の方がファイル システムのパフォーマンスが優れているようだ

    • 深く考えず、後発の2系を使うことにする

  • 機能の比較表がMicrosoftのページにある

    • WSL バージョンの比較

    • 1の方に「OS ファイル システム間でのパフォーマンス」項目にチェックがついている意味が把握できていない

ディストリビューションの格納場所

  • 以下のパスにディストリビューションごとにフォルダが作られる

    • 筆者の(Ubuntuを入れた)環境では、CanonicalGroupから始まるフォルダを探すことでみつけられる

%userprofile%\AppData\Local\Packages\

仮想ディスクの格納場所

  • ディストリビューション毎のディレクトリの以下のLocalStateフォルダにVHDXファイルが格納されている

  • 「ext4.vhdx」などのファイル名

  • Linux上でストレージを消費すると、仮想ディスクのVHDXファイルの容量が増えてい行く

    • このファイルの容量でWSL側のストレージの使用量の目安を確認することができる

    • Windows11環境においては、「アプリ - インストールされているアプリ」項目でも、使用容量を確認することができる

    • ストレージが不足したときは、WSL側の解放も候補に入れた方がよい

  • 以下は、Ubuntu 20.04LTSの場合

%userprofile%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_123456789abcd\LocalState

一覧表示するコマンド

  • 以下のPowerShellのコマンドで、インストールされているディストリビューションのパスを列挙することができる

Get-ChildItem "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" -Recurse

インストールされる実行ファイル

  • WSLを導入すると、wslコマンドが使えるようになる

  • wslコマンドで、ディストリビューションを管理できる(後に述べる)

    • ディストリビューションの追加、削除、列挙など

C:\Windows\System32\wsl.exe
C:\Users\user\AppData\Local\Microsoft\WindowsApps\wsl.exe
  • ディストリビューション毎にも実行ファイルが作られる(ようだ)

  • エクスプローラーで閲覧すると0バイトのようだが、実行できるようだ

  • パスも通っているようで、`ubuntu2004`などとするとWSLを起動することができる

%userprofile%\AppData\Local\Microsoft\WindowsApps\ubuntu2004.exe
%userprofile%\AppData\Local\Microsoft\WindowsApps\ubuntu2204.exe

Windowsターミナルアプリのとの連携

  • Windowsターミナルと連携すると便利

  • ディストリビューションをインストールするときに自動でプロファイルが追加されるようだ

    • 手動でプロファイルを編集できるようになると便利

  • WSLを起動するには、ターミナルアプリの設定の「コマンドライン」の項目にwslのコマンドを書いてあげればよさそう

    • wslのコマンドについては後に述べる

コマンドラインの項目にwslのコマンドを書いてあげればよさそう
作成される実行ファイルを指定してもよさそう

よく使いそうなWSLコマンド

  • 以下のルールで記述

    • 1行名、長い文字列のオプション指定

    • 2行名、短い文字列のオプション指定

インストール済みを列挙

  • インストールされている Linux ディストリビューションを一覧表示とWSL のバージョン表示

    • verboseを指定するとバージョンも確認できる

wsl --list --verbose
wsl -l -v 

実行

  • PowerShellまたはコマンドプロンプトで、Linux ディストリビューションを指定して実行する

    • ユーザーも指定することができる

wsl --distribution <Distribution Name> --user <User Name>
wsl -d Ubuntu-20.04 -u user

インストール可能なものを列挙

  • オンライン ストアからダウンロードできる利用可能な Linux ディストリビューションの一覧を確認する

wsl --list --online
wsl -l -o

インストール

wsl --install -d <Distribution Name> 

既定の Linux ディストリビューションを設定

wsl --set-default <Distribution Name>

参考にしたページ

[メモ] WSLで確保したストレージの解放について


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