Open5

WSL TIPS

mnodmnod

WSLtty が開かなくなった時の対応

WSLを更新した時WSLttyが開かなくなった。こちらで対応。

  • %LOCALAPPDATA%\wsltty を開く
  • uninstall.bat を実行
  • Startメニューから WSLttl 関連のものが無くなったことを確認(自分の場合ディレクトリ、ファイルは消えなかった)
  • https://github.com/mintty/wsltty/releases から最新のインストーラをダウンロードして実行
  • コマンドプロンプトが閉じなかったので x 閉じ
  • StartメニューにWSLttl のフォルダができるので、configure wsltty shortcuts を実行
  • %LOCALAPPDATA%\Microsoft\WindowsApps を確認
  • Startメニューに各ディストリビューションへのショートカットができることを確認
  • 起動確認
mnodmnod

ディストリビューションのインストールと削除

インストールされているディストリビューション一覧表示。
行頭に * がついているものはデフォルトのディストリビューション。

>wsl --list --verbose
  NAME                 STATE           VERSION
* Debian-work-local    Running         2
  Debian               Stopped         2

オンライン ストアから利用できる Linux ディストリビューションの一覧表示。

>wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl --install -d <Distro>' を使用してインストールします。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
Ubuntu-24.04                           Ubuntu 24.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

Ubuntu-24.04をインストールしてみる

>wsl --install -d Ubuntu-24.04
インストール中: Ubuntu 24.04 LTS
Ubuntu 24.04 LTS はインストールされました。
Ubuntu 24.04 LTS を起動しています...

イメージファイルは以下のパスに保存される

>dir %LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState
:
2024/08/18  16:22     1,274,019,840 ext4.vhdx
               1 個のファイル       1,274,019,840 バイト
:

インストール状態を確認。起動されている。

>wsl -l -v
  NAME                 STATE           VERSION
* Debian-work-local    Stopped         2
  Debian               Stopped         2
  Ubuntu-24.04         Running         2

bashコマンド、wsl コマンドでデフォルトのディストリビューションのコマンドを実行できる。

>bash -c "grep NAME /etc/os-release"
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_CODENAME=buster
>wsl -e grep NAME /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_CODENAME=buster

wsl コマンドで、-d でディストリビューションを指定できる

>wsl -d Ubuntu-24.04 -e grep NAME /etc/os-release
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_CODENAME=noble
UBUNTU_CODENAME=noble

起動しているディストリビューションを停止

> wsl --shutdown 

インストールしたディストリビューションを削除

>wsl --unregister Ubuntu-24.04
登録を解除しています...

このとき仮想ディスクファイルも削除される。

>dir %LocalAppData%\Packages\CanonicalGroupLimited.Ubuntu24.04LTS_79rhkp1fndgsc\LocalState
:
               0 個のファイル                   0 バイト
:
mnodmnod

エクスポートとインポート

tar ファイルにエクスポート(バックアップ)する: wsl --export <Distro> <FileName>
(比較的新しいバージョンでは --vhd オプションを追加すると、tar ではなくて vhdx ファイルで保存できる。)

>wsl --export Debian-work-local d:\backup\wsl2\Debian-work-local.tar

tar ファイルからインポートする: wsl --import <Distro> <InstallLocation> <FileName>

>wsl --import Debian10-work-local d:\wsl\Debian10-work-local d:\backup\wsl2\Debian-work-local.tar

保存されたデータの確認。

>dir d:\wsl\Debian10-work-local
:
2024/08/18  17:31     5,232,394,240 ext4.vhdx
               1 個のファイル       5,232,394,240 バイト
:

[別解] 比較的新しいバージョンでは、既存のディストリビューションにバックアップした vhdx ファイルをリストアできる: wsl.exe --import-in-place <Distro> <VHDX FileName>

>wsl --import-in-place Debian-work-local d:\backup\wsl2\Debian-work-local.vhdx

起動してみる。

>wsl -d Debian10-work-local cat /etc/wsl.conf
[user]
default = admin
[network]
generateResolvConf = false

デフォルトユーザ設定がないと差しさわりがある可能性がある。
設定がないとき、以下のような感じで追記する。

echo -e "[user]\ndefault=myUsername" >> /etc/wsl.conf

デフォルトディストリビューションを設定する

>wsl --set-default Debian10-work-local
mnodmnod

WSL のアップデート

WSLのバージョンとLinuxカーネルがアップデートされる

現状確認

>wsl uname -a
Linux LAPTOP-OETTMNFJ 4.19.128-microsoft-standard #1 SMP Tue Jun 23 12:58:10 UTC 2020 x86_64 GNU/Linux

アップデート

>wsl --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム  はインストールされました。

アップデート後確認

>wsl uname -a
Linux LAPTOP-OETTMNFJ 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 GNU/Linux

>wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
MSRDC バージョン: 1.2.5326
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26091.1-240325-1447.ge-release
Windows バージョン: 10.0.19045.4651
mnodmnod

Windows Terminal で WSL を開く

wt コマンドで起動できることでおなじみの Windows Terminal だが、Windows 標準の Power Shell やコマンドプロンプトだけでなく、WSL のターミナルを開くことができる。
とくに設定を追加しなくても利用できる。Windows Terminal の画面で、タブの追加(+)の隣のプルダウンメニュー(↓)で、WSLのディストリビューションを選択することでターミナルを開くことができる。

また、プルダウンメニューから設定を開き、プロファイルの箇所で、各ディストリビューションごとに配色やフォントの設定をはじめとして、もろもろ変更することができる。

VSCodeに対するVSCodiumのように、Windows Terminalのオープンソース版なるものは存在するのだろうか。