WSL
目次
概要
前設定
- 「スタートボタン」->「Windowsシステムツール」->「コントロールパネル」->「プログラム」->「Windowsの機能の有効化または無効化」
- 「Linux用Windowsサブシステム(WSL)」と「仮想マシン プラットフォーム」にチェックを入れ「OK」
- Windowsの再起動が必要
インストール
Windows 10
- 「Microsort Sotre」起動
- 「Windows SUbsystem for Linux」検索し「インストール」
- 「Ubuntu」を検索し、適切なバージョンを選択し「インストール」
- 初回にユーザ名、パスワードの設定が求められるので事前に用意しておく事
Windows 11
PowerShell起動
# wslインストール
wsl --install
# インストール可能なディストリビューション一覧確認
wsl --list --online
# 上記で確認した中から選択してインストール
wsl --install -d <ディストリビューション名>
# 自分は ubuntu でインストールしている
wsl --install -d Ubuntu
「スタート」に登録されるので、起動する
起動すると、初回に「ユーザ名」「パスワード」の設定が求められるので事前に用意しておく事
# 更新
wsl --update
設定
Linuxの設定は「Ubuntu」等を参考に設定する事になるのでそれ以外の設定に関して
wslg
XのGUIが表示できる
挙動確認したいなら xeyes を起動してみれば挙動が確認できる
sudo apt install -y x11-apps
xeyes
配置ドライブを変更
普通にインストールするとCドライブにインストールされる
ただCの容量は小さいドライブでDとか他のドライブの容量が大きいとか、Cにあまり物を入れたくない等の場合も多いと思う
Dに移動したい場合は
# 現在の環境をバックアップする場所に移動
cd D:
# exportする(すこし時間かかる)
wsl --export Ubuntu ubuntu.tar
# exportした対象を除去
wsl --unregister Ubuntu
# import 先作成(名前は何でも良い)
mkdir wsl
# import(すこし時間かかる)
wsl --import Ubuntu wsl D:¥ubuntu.tar --version 2
# import が成功したか確認
ls wsl
環境構築
開発環境
sudo apt update
sudo apt install build-essential
フォント
Windows側のフォントを利用したい場合、設定が必要
sudo apt update
sudo apt install -y fontconfig
sudo vi /etc/fonts/local.conf
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
fc-cache -fv
fc-list | grep <フォント名>
もしwindows側フォントでなくても良いなら
「${HOME}/.fonts」を作成し、その中にfontを入れると良い
cd
mkdir .fonts
cd .fonts
wegt https://github.com/yuru7/udev-gothic/releases/download/v2.2.0/UDEVGothic_v2.2.0.zip
unzip UDEVGothic_v2.2.0.zip
fc-cache -fv
fc-list | grep UDEV
ネットワーク
Windows側で起動しているサーバをlocalhostとして参照したい場合がある
Windows側の %USERPROFILE%¥.wslconfig に値を設定する
# PowerShell等で以下で開く
notepad.exe %USERPROFILE%¥.wslconfig
# 以下を記載して保存
[wsl2]
networkingMode=mirrored
# 一回wslを終了する
wsl --shutdown
この設定はWindows側とwsl側が分離されなくなるため、当然Windows側で利用しているportがwsl側で利用できなくなる
これにより不都合が発生する事があるので慎重に設定する必要がある
トラブルシュート
更新、再起動
Windows Update後、挙動がおかしくなる場合がある。
update、shutdownする事で正常に戻る場合が多いので、何かトラブルが発生した場合は最初に実施する必要がある
wsl系の画面が開いている場合は、閉じてから以下を実行する
wsl --update
wsl --shutdown
キーボード配列が不正
環境によってはキーボードはJIS配列なのに、US配列になる場合があるようだ
以下を確認
- IMEを標準の日本語IMEか、英語に設定する(標準以外だとだめな場合がある模様)
- localeをja_JP.UTF-8にしてみる
localeで判定しているため、単純にJIS配列にしたいだけならlocaleを変更すれば良い
どうしても直らない場合は、keybordの設定を修正する
sudo vi /etc/default/keyboard
XKBLAYOUT="jp"
XKBMODEL="jp106"
一時的でよければ、以下でも良いが、再起動で戻ってしまう
setxkbmap jp -model jp106
