Windows Subsystem for Linux のメモ
自分用 今んとこUbuntuのことしか書いてない
コマンドプロンプトで使えるディストリビューションのコマンド
- ストアで Ubuntu を入れた場合は
ubuntu - ストアで Ubuntu 18.04 LTS を入れた場合は
ubuntu1804 - ストアで Ubuntu 20.04 LTS を入れた場合は
ubuntu2004
以降の項の ubuntu コマンドは読み替え推奨。
コマンドプロンプトからWSL側のコマンドを実行
ディストリビューションのコマンドの run 以降に、WSL側で実行したいコマンドを指定する。
ubuntu run dateSun May 17 01:36:05 JST 2020または wsl コマンドの -- 以降にWSL側で実行したいコマンドを指定する。
wsl -d Ubuntu -- date-d オプションの引数にはディストリビューション名を指定する。ディストリビューション名の確認方法は次項。
これらを実行する時、カレントディレクトリはコマンドプロンプトで開いているディレクトリとなる。
インストール済みのディストリビューションを確認する
wsl コマンドで指定するディストリビューション名を確認するには、コマンドプロンプトで以下実行。
wsl --listLinux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
Ubuntu-20.04Windows側からWSL側のファイルに触る
Windows側でエクスプローラのアドレスバーに \\wsl$\{ディストリビューション名} と入力すると、WSL側のファイルを見られる。
例えば Ubuntu ディストリビューションの /path/to/file.txt なら \\wsl$\Ubuntu\path\to\file.txt になる。
この時、WSL側にはディストリビューションのデフォルトユーザーでアクセスする扱いになる。手動で変更していなければ、デフォルトユーザーはWSLを初回起動時に作成したユーザーのはず。なのでroot権限が必要なところは見られない。
デフォルトユーザーをrootに変更したければ、Windows側で以下コマンド。
ubuntu config --default-user rootWSL側からWindows側のファイルに触る
Cドライブのファイルなら、WSL側で /mnt/c 以下で見られる。
例えば C:\path\to\file.txt なら /mnt/c/path/to/file.txt になる。
WSLを再起動する
--terminate で落としてもう一回上げればOK
wsl --terminate Ubuntuでも .wslconfig を反映させたいとかならこっち↓
wsl --shutdownWSL2上で開けたポートにホスト側からアクセス
ファイル C:\Users\{ユーザ名}\.wslconfig を作成して以下を記述し、WSLを再起動する
[wsl2]
localhostForwarding=TrueWSL2のメモリサイズを制限する
Vmmemがメモリ食ってる時に有用
ファイル C:\Users\{ユーザ名}\.wslconfig を作成して以下を記述し、WSLを再起動する
[wsl2]
memory=8GB
swap=0swap=0 はメモリオーバーした時にスワップさせなくする
キリウ君が読まないノート