このページの概要
- Windows 11 Pro(24H2以降)の WSL のインストール
- Microsoft Storeで配布していないディストリビューションも使いたい。
- WSLg じゃない方法で GUI アプリを使いたい。
WSLのインストール
-
管理者モードで Powershell を起動する。
-
WSL のインストール
wsl --install以前は WSL と共に Ubuntu Linux がインストールされたように思いましたが、今は WSL だけインストールされてディストリビューションは別途インストールになった可能性があります。
ちなみに、以前は、
wsl --install --d Debianを実行すると、初期インストールされるディストリビューションが Ubuntu Linux ではなく、Debian Linux にできたと思いますが、さしあたり不都合はないので、微妙な仕様変更があったのかも、と思ってます。
Microsoft Store 配布のディストリビューションのインストール
wsl --list --online
wsl --install -d Debian
wsl --list --verbose
wsl -d Debian
GUI 環境のインストール
-
準備
Ubuntu-24.04のインストールwsl --install -d Ubuntu-24.04Ubuntu-24.04の起動wsl -d Ubuntu-24.04
デスクトップ環境のインストール
-
Mateを使う場合
Mateのインストールsudo apt update && sudo apt -y upgrade sudo apt install -y ubuntu-mate-desktop sudo apt-get install xrdp -
XFceを使う場合
XFceインストールsudo apt update && sudo apt -y upgrade sudo apt -y install xfce4 sudo apt-get install xrdp
インストール途中で、Display Manager の設定を聞かれます。とりあえず gdm3 を選択します。
日本語IME
sudo apt install fcitx-mozc
Xsession の設定
$HOME/.xsession が存在しない場合、作成します。
-
Mateを使う場合
$HOME/.xsession# fcitx-mozc export XMODIFIERS="@im=fcitx" export QT_IM_MODULE=fcitx export GTK_IM_MODULE=fcitx export DefaultIMModule=fcitx fcitx-autostart # Mate mate-session -
XFceを使う場合
$HOME/.xsession# fcitx-mozc export XMODIFIERS="@im=fcitx" export QT_IM_MODULE=fcitx export GTK_IM_MODULE=fcitx export DefaultIMModule=fcitx fcitx-autostart # XFce xfce4-session
xrdp の設定と起動
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
sudo sed -i 's/3389/3390/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/max_bpp=32/#max_bpp=32\nmax_bpp=128/g' /etc/xrdp/xrdp.ini
sudo sed -i 's/xserverbpp=24/#xserverbpp=24\nxserverbpp=128/g' /etc/xrdp/xrdp.ini
sudo service xrdp start
この後、リモートデスクトップを起動し、localhost:3390 に接続すると GUI 環境につながると思います。
よくある問題?
-
RDP でログインしたら英語版
locale を設定していないとデフォルトの英語で表示されます。dpkg-reconfigure localesコマンド等で、locale に ja_JP.UTF8 を設定後、再度 RDP でログインすると日本語表示になるはずです。 -
RDP でログインするとき blueman が落ちる
たぶん Bluetooth 関係の何かだと思いますが、たぶん使わないのでアンインストールしても問題なさそうです。blueman のアンインストールsudo apt remove blueman
Microsoft Store 公開以外のディストリビューションのインストール
昔はいろいろ工夫が必要でしたが、2025年10月現在では、メジャーなディストリビューションでは WSL 用の OS イメージが提供されているようですので、下記のような苦労はする必要がないと思います。例えば、RockyLinux 10 の場合は、Import Rocky Linux to WSL or WSL2 に手順がまとめられていて、tar.gz ファイルをダウンロードして、wsl --import するだけで使用できそうです。
下記の手順は、公式サイトで用意していない古いバージョンを WSL で動かしたい場合に使うかもしれないので残しておきました。興味がありましたら試してみてください。ちなみに、試していませんが、RockyLinux の手順を見る限りですと、下記手順より Docker コンテナをエクスポートした方が簡単かもしれません。
なお、下記作業は WSL Ubuntu 上でもできるらしい解説を見ましたが、私の PC ではできませんでした。
仮想マシン等に Ubuntu Linux をインストールして作業した方が無難だと思います。
Rocky Linux8
Ubuntu Linux での作業
sudo apt-get update
sudo apt-get install rinse -y
-
RockLinux用 rinse 設定ファイル作成
CentOS8 の設定ファイルをコピーして、centos ⇒ rocky に変更します。RockyLinux用rinse設定ファイル作成sudo bash -c \ 'sed -e "s|centos|rocky|" /etc/rinse/centos-8.packages > /etc/rinse/rocky-8.packages'rinse の設定ファイルの中に Red Hat Enterprise Linux の設定ファイルがありましたので、RHEL の場合は、この操作は不要だと思います。
glibc-langpack-en
libmodulemd
libzstd
passwd
sudo
cracklib-dicts
openssh-clients
python3-dbus
dbus-glib
glibc-langpack-ja
# Rocky Linux 8
[rocky-8]
mirror.amd64 = http://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/Packages/
-
パッケージインストールスクリプトの作成
CentOS8用のスクリプトをコピーsudo cp -pR /usr/lib/rinse/centos-8 /usr/lib/rinse/rocky-8/usr/lib/rinse/rocky-8/post-install.sh の14行目に挿入echo " Extracting CA certs..." $CH /usr/bin/update-ca-trust -
rinse スクリプトの修正
- /usr/sbin/rinse を -extract-over-symlinks で検索し、次の行に rocky を追加します。
修正前: if ( $file =~ /(fedora|centos|redhat|mandriva)-release-/ ) {
修正後: if ( $file =~ /(fedora|centos|rocky|redhat|mandriva)-release-/ ) {
- /usr/sbin/rinse を -extract-over-symlinks で検索し、次の行に rocky を追加します。
mkdir rocky_rc
sudo rinse --arch amd64 --directory ./rocky_rc --distribution rocky-8
- VMware Ubuntu Linux 20.04 では、/etc/rinse/rocky-8.packages のパッケージリストから ima-evm-utils を外さないとエラーになりました。
- Windows11 WSL2 Ubuntu Linux 20.04 では filesystem-3.8-6.el8.x86_64.rpmの展開でエラーになりました。
sudo tar --numeric-owner -c -C ./rocky_rc . -f rocky8.tar
この後、rocky8.tar を scp 等の手段を使って Windows 上にコピーします。
Windowsでの作業
Rocky Linux の WSLイメージ格納フォルダを作成する。今回は C:\WSL\rocky8 とする。
wsl --import Rocky8 c:\WSL\rocky8 rocky8.tar
wsl -l -v
NAME STATE VERSION
* Debian Running 2
Ubuntu-20.04 Running 2
Rocky8 Stopped 2
wsl -d Rocky8
[root@winpc rocky8]# cat /etc/redhat-release
Rocky Linux release 8.5 (Green Obsidian)
インポート後の調整
dnf update
dnf reinstall passwd sudo cracklib-dicts -y
adduser -G wheel hoge
echo -e "[user]\ndefault=hoge" >> /etc/wsl.conf
passwd hogehoge
Debian Linux11
Ubuntu Linux 仮想マシンでの作業
mkdir debian11
sudo apt install debootstrap
sudo debootstrap --verbose --variant=minbase --arch=amd64 \
--include=sudo,locales,vim \
bullseye ./debian11 http://ftp.jp.debian.org/debian
| Codename | Version |
|---|---|
| bullseye | 11 |
| buster | 10 |
| stretch | 9 |
基本設定
sudo mount -t proc proc ./debian11/proc
sudo mount -o bind /dev ./debian11/dev
sudo chroot ./debian11/
echo "deb http://ftp.jp.debian.org/debian bullseye main contrib non-free" > /etc/apt/sources.list
echo "deb-src http://ftp.jp.debian.org/debian bullseye main contrib non-free" >> /etc/apt/sources.list
apt-get update
apt-get install -y console-data
# 1. Select keymap from arch list -> 4. qwerty -> 16. Japanese
dpkg-reconfigure tzdata
# 6. Asia -> 79. Tokyo
dpkg-reconfigure locales
# 285. ja_JP.UTF-8 UTF-8 -> 3. ja_JP.UTF-8
useradd -G users,sudo -d /home/hoge -m -s /bin/bash hoge
echo -e "[user]\ndefault=hoge" >> /etc/wsl.conf
passwd hogehoge
sudo umount ./debian11/proc
sudo umount ./debian11/dev
sudo tar --numeric-owner -c -C ./debian11 . -f debian11.tar
debian11.tar を wsl でインポートする Windows 上に持っていきます。
Windowsでの作業
Debian Linux 11 の WSLイメージ格納フォルダを作成する。今回は C:\WSL\debian11 とする。
wsl --import Debian11 c:\WSL\debian11 debian11.tar
wsl -l -v
wsl -d Debian11
