rm -rf /*

忘れようとしても思い出せない

WSL2にGentoo LinuxをインストールしてWSLgを使う

方法は公式ドキュメントに準拠。

WSL2 への Gentoo イメージのインポートと初期設定

Power Shell で stage3 のイメージをダウンロードしてWSLにインポート

PS > wsl --import Gentoo D:\WSL\Gentoo D:\WSL\stage3-amd64-desktop-systemd-20250119T170328Z.tar.xz --version 2

WSL上でGentooを起動

PS > wsl -d Gentoo

一般ユーザーを追加して、パスワードを設定

# useradd -m -G wheel <username>
# passwd <username>

ルートのパスワードを設定

# passwd

/etc/wsl.conf を作成し、以下の内容を追加(nano /etc/wsl.conf)

[boot]
systemd=true # systemdを有効にする

[user]
default=<username> # デフォルトのログインユーザーを設定

[network]
generateResolvConf = false # /etc/resolv.conf をWSL2のDNS設定に上書きしない(古い対処法)

ついでに後々面倒なことになるDNSの設定を済ませる(ただし、これは古い対処法)

# rm /etc/resolv.conf
# sh -c "echo 'nameserver 8.8.8.8' > /etc/resolv.conf" # 8.8.8.8 は Google 提供のネームサーバー

一旦、Power Shell に戻って WSL を再起動する(-u root を付けないとsudoが使えない状態で先ほど設定したデフォルトユーザーでログインする)

# exit
PS > wsl --shutdown
PS > wsl -u root -d Gentoo

パッケージ管理環境の構築

/etc/portage/make.conf に以下の設定を追加する(適当)

GENTOO_MIRRORS="http://ftp.iij.ad.jp/pub/linux/gentoo/ rsync://ftp.iij.ad.jp/pub/linux/gentoo/" # 一旦、国内のミラーを選択しておく
USE="X icu minizip inspector ibus dbus"

使用するミラーを選択

# emerge-webrsync
# emerge --ask --verbose --oneshot app-portage/mirrorselect
# mirrorselect -i -o >> /etc/portage/make.conf

環境全体と普段使用するユーザーの設定

プロファイルを選択

# systemd-firstboot --prompt # いらないかも
# systemctl preset-all --preset-mode=enable-only # いらないかも
# emerge --sync
# eselect profile list

タイムゾーンを選択

# ls -l /usr/share/zoneinfo
# ls -l /usr/share/zoneinfo/Asia/
# echo "Asia/Tokyo" > /etc/timezone 
# emerge --config sys-libs/timezone-data
# ln -sf ../usr/share/zoneinfo/Asia/Tokyo /etc/localtime

システム言語を設定

# nano /etc/locale.gen
# locale-gen
# eselect locale list
# eselect locale set 5
# env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

一般ユーザーの設定

# emerge --ask app-admin/sudo
# visudo

# 以下の行をコメントアウト
%wheel ALL=(ALL:ALL) ALL

エディタを vim に変える

# emerge app-editors/vim
# eselect editor list
# eselect editor set 2
# . /etc/profile

システムを更新

# emerge-webrsync
# emerge --ask --verbose --update --deep --newuse @world
# exit

デフォルトの WSL イメージを変更

PS >  wsl -s Gentoo

WSLg の設定(公式ドキュメントに載っていない)

そのままでは動作しないので、wslg-linksを参考に設定。ここからは一般ユーザーで作業。

$ sudo ln -s /mnt/wslg/.X11-unix/X0 /tmp/.X11-unix/X0
$ sudo rm /run/user/$(id -u)/wayland-0
$ sudo ln -s /mnt/wslg/runtime-dir/wayland-0 /run/user/$(id -u)/wayland-0
$ exit

動作チェック

$ sudo emerge --ask x11-apps/xeyes
$ xeyes # 動作すれば完了