参考
https://qiita.com/snaka/items/a8eee4cfc8f7d733e6ab
https://www.atmarkit.co.jp/ait/articles/1904/05/news027.html
https://www.atmarkit.co.jp/ait/articles/1806/28/news043.html
https://qiita.com/yoichiwo7/items/e3e13b6fe2f32c4c6120
https://blog.mohyo.net/2022/02/11591/
初期設定
- BIOSでVT-xを有効にする
- Linux用Windowsサブシステムと仮想マシンプラットフォームをインストール
- Windowsの機能の有効化または無効化から以下をチェックしてOK
- Linux用Windowsサブシステム
- 仮想マシンプラットフォームをインストール
- Windowsの機能の有効化または無効化から以下をチェックしてOK
- 場合によってはカーネルコンポーネントの更新が必要
ディレクトリビューションを手動でインストール
通常はMicrosoft Storeで利用したいディストリビューションをインストールする。
Microsoft Storeを使わない場合は、以下のURLからダウンロードする
https://docs.microsoft.com/ja-jp/windows/wsl/install-manual
PowerShell
Add-AppxPackage Ubuntu-20.04.appx
とか
ディストリビューションの設定
- localhost でWSLに接続できるようにする
- c:\Users\<ユーザ名>\.wslconfig を作成して以下の内容を記載する
- localhostForwarding=True
- [wsl2]
- memory=6GB
- WSLのメモリの上限を設定できる。物理メモリの50%〜80%くらがおすすめ
- c:\Users\<ユーザ名>\.wslconfig を作成して以下の内容を記載する
- localeの設定
- sudo apt -y install language-pack-ja
- sudo update-locale LANG=ja_JP.UTF8
- timezoneの設定
- sudo dpkg-reconfigure tzdata
- ssh serverの設定
- sudo apt install openssh-server
- sudo ssh-keygen -A
- sudo vim /etc/ssh/sshd_config
- PasswordAuthentication yes に変更
- docker-ceの設定
- Add Docker's official GPG key:
- sudo apt-get update
- sudo apt-get install ca-certificates curl gnupg
- sudo install -m 0755 -d /etc/apt/keyrings
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- sudo chmod a+r /etc/apt/keyrings/docker.gpg
- Add the repository to Apt sources:
- echo \
- "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
- $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
- sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- sudo apt-get update
- sudo apt install docker-ce docker-compose-plugin
- sudo gpasswd -a ユーザ名 docker
- Add Docker's official GPG key:
- 起動用bat
- wsl -u root -- service ssh start
- wsl -u root -- service docker start
- git-prompt.sh
- sudo mkdir /usr/share/git-core/contrib/completion/
- sudo curl -o /usr/share/git-core/contrib/completion/git-prompt.sh https://raw.githubusercontent.com/git/git/master/contrib/completion/git-prompt.sh
もしGUIを使う場合
x11のキーレイアウト
もしレイアウトがおかしい場合は以下で変更できる。
setxkbmap -layout jp
WSLgをdockerで使う
dockerの設定に以下を指定することでWSLのdockerでwslgが使える
environment: - DISPLAY=$DISPLAY - WAYLAND_DISPLAY=$WAYLAND_DISPLAY - XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR - PULSE_SERVER=$PULSE_SERVER volumes: - /tmp/.X11-unix:/tmp/.X11-unix - /mnt/wslg:/mnt/wslg
Windows上のサービス
WSLのためのサービスは以下のもの
LxssManager(WSLServiceに変わった) WSLService
デフォルトユーザの変更
wslを起動したときのデフォルトユーザを変更する方法
方法1
wslの仮想マシンに以下のファイルを作成する
/etc/wsl.conf
[user] default=user-name
仮想マシンを落落とす
wsl -t 仮想マシン名
方法2
仮想マシンが一つだけの場合
PowerShellで以下を実行する
ubuntu config --default-user xxxx
これをすることで以下のレジストリが書き換わる
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{distro-id}\DefaultUid
VPN環境で通信ができない場合
SSL証明書の問題の場合
一部のサイトに通信できない場合
ホストのVPN経由のみ通信できる場合は、ホストにproxyを立ててWSL、dockerコンテナからそのproxyを経由させることで通信できる。
WindowsでProxyサーバを立てる
でproxyを立てて、WSLで以下を実行する。
export http_proxy=http://$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):8081 export https_proxy=${http_proxy}
また各コンテナはdocker-compose.yml, dockerfileでproxyの設定を行う
docker-compose.yml
build: context: . dockerfile: ./environment/php-apache/Dockerfile args: - http_proxy=${http_proxy} - https_proxy=${https_proxy}
dockerfile
ARG http_proxy ARG https_proxy ENV http_proxy ${http_proxy} ENV https_proxy ${https_proxy}
以下自分用メモ
sudo apt update sudo apt -y install language-pack-ja sudo update-locale LANG=ja_JP.UTF8 sudo dpkg-reconfigure tzdata sudo apt install openssh-server sudo ssh-keygen -A curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce docker-compose sudo gpasswd -a user docker sudo vim /etc/wsl.conf sudo vim /etc/ssh/sshd_config ※パスワード認証許可 sudo apt install tmux sudo apt install tig git sudo apt install meld sudo apt install make mkdir temp cd temp cp /mnt/c/data/temp/Download/Linux.zip ./ sudo apt install unzip unzip Linux.zip cp -rT Linux ~/ cd ls vim ~/.tmux.conf cd bin chmod +x * sudo apt install peco sudo apt install xclip sudo apt install fonts-vlgothic sudo apt install fonts-ricty-diminished sudo apt install gnome-icon-theme sudo apt install gnome-shell
systemd
個人的にはsystemdは不要なので止めて良い
vim /etc/wsl.conf
systemd=true
はコメントアウト
docker
dockerに関してはオフィシャルの方法を使う
https://docs.docker.com/engine/install/ubuntu/
# Add Docker's official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update[カテゴリ: OS > Windows]
[カテゴリ: ツール > WSL]
[通知用URL]
Tweet
最終更新時間:2024年01月28日 12時54分40秒