トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

WSL2の設定

参考

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/

初期設定


ディレクトリビューションを手動でインストール

通常はMicrosoft Storeで利用したいディストリビューションをインストールする。
Microsoft Storeを使わない場合は、以下のURLからダウンロードする
https://docs.microsoft.com/ja-jp/windows/wsl/install-manual

PowerShell

Add-AppxPackage Ubuntu-20.04.appx

とか

ディストリビューションの設定

  1. localhost でWSLに接続できるようにする
    1. c:\Users\<ユーザ名>\.wslconfig を作成して以下の内容を記載する
      1. localhostForwarding=True
      2. [wsl2]
      3. memory=6GB
      4. WSLのメモリの上限を設定できる。物理メモリの50%〜80%くらがおすすめ
  2. localeの設定
    1. sudo apt -y install language-pack-ja
    2. sudo update-locale LANG=ja_JP.UTF8
  3. timezoneの設定
    1. sudo dpkg-reconfigure tzdata
  4. ssh serverの設定
    1. sudo apt install openssh-server
    2. sudo ssh-keygen -A
    3. sudo vim /etc/ssh/sshd_config
      1. PasswordAuthentication yes に変更
  5. docker-ceの設定
    1. Add Docker's official GPG key:
      1. sudo apt-get update
      2. sudo apt-get install ca-certificates curl gnupg
      3. sudo install -m 0755 -d /etc/apt/keyrings
      4. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      5. sudo chmod a+r /etc/apt/keyrings/docker.gpg
    2. Add the repository to Apt sources:
      1. echo \
      2. "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      3. $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
      4. sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      5. sudo apt-get update
    3. sudo apt install docker-ce docker-compose-plugin
    4. sudo gpasswd -a ユーザ名 docker
  6. 起動用bat
    1. wsl -u root -- service ssh start
    2. wsl -u root -- service docker start
  7. git-prompt.sh
    1. sudo mkdir /usr/share/git-core/contrib/completion/
    2. 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証明書の問題の場合

SASE環境でdockerを使う場合の証明書問題

 一部のサイトに通信できない場合

ホストの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]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2024年01月28日 12時54分40秒