Macユーザーが初めてWindowsでWSL2を試した話
WSL2環境構築手順
はじめに
普段はMacBookを愛用している私ですが、最近Windowsマシンを手に入れたので、WSL2を通じてUbuntuの開発環境を構築しました。
ここではその一連の手順と、個人的に感じたことを共有します。
1. WSL2のインストール
PowerShellでの操作
# 管理者権限でPowerShellを起動し、実行
wsl --install
# 特定のディストリビューションをインストールする場合
wsl --install -d <Distribution Name>
インストール後、ユーザー名とパスワードを設定します。
ユーザー名はWindowsと同一でも大丈夫です。
2. パッケージのインストール
基本パッケージ
# パッケージリストの更新とアップグレード
sudo apt update -y
sudo apt upgrade -y
# 日本語パッケージ
sudo apt install language-pack-ja -y
Homebrewの導入
Macでおなじみのパッケージマネージャー、Homebrewをインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Homebrewのパスを通す
test -d ~/.linuxbrew && eval "$(~/.linuxbrew/bin/brew shellenv)"
test -d /home/linuxbrew/.linuxbrew && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo "eval \"\$($(brew --prefix)/bin/brew shellenv)\"" >> ~/.profile
# 依存関係のインストール
sudo apt-get install build-essential
brew install gcc
シェルのカスタマイズ
私はzshが好きなので、デフォルトシェルをzshに変更します。
brew install zsh
# zshをデフォルトシェルに変更
sudo chsh $USER -s $(which zsh)
# 設定ファイルの作成
touch ~/.zshrc
# 再起動
exec zsh
その他便利なパッケージ
# 便利なツールたちをインストール
brew install curl wget git keychain vim tree zsh-autosuggestions zsh-completions zsh-syntax-highlighting
# 自分が入れたいパッケージを記載してください
brew install act mise poetry uv starship jupyterlab
補完設定
# 補完設定を有効化
autoload -U compinit
rm -f ~/.zcompdump; compinit
# miseの補完設定 (必要な場合のみ)
mise completion zsh > /home/linuxbrew/.linuxbrew/share/zsh/site-functions/_mise
~/.zshrcに以下を追記
# zsh-autosuggestionsを有効化
. /home/linuxbrew/.linuxbrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
# zsh-completionsを有効化
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh-completions:$FPATH
autoload -Uz compinit colors
compinit
colors
fi
# completionsで警告が出た場合の対処法
# chmod go-w '/home/linuxbrew/.linuxbrew/share'
# chmod -R go-w '/home/linuxbrew/.linuxbrew/share/zsh'
# zsh-syntax-highlightingを有効化
. /home/linuxbrew/.linuxbrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
typeset -A ZSH_HIGHLIGHT_STYLES
# pathの下線を消す
ZSH_HIGHLIGHT_STYLES[path]="none"
# 任意で追加
# starshipを有効化
eval "$(starship init zsh)"
# miseを有効化
eval "$(mise activate zsh)"
3. フォントのインストールと設定
Starshipを使う場合はNerd Font, それ以外はお好きなフォントをインストールしてください。
ただし、Windows側にフォントを入れてから、WSL2の設定で変えないといけないので注意。
WSL2の設定
Terminalの画面上部を右クリック -> 設定 -> Ubuntu -> フォント フェイス-> Fontを選択
4. GitHubとのSSH接続設定
mkdir ~/.ssh
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 # -fでファイル名を指定
# SSHエージェントを起動し、キーを追加
ssh-agent -s
ssh-add ~/.ssh/id_ed25519 # 上で作ったファイル名を指定
~/.ssh/configに以下を追記
Host github.com
HostName github.com
IgnoreUnknown AddKeysToAgent,UseKeychain
AddKeysToAgent yes
UseKeychain yes
User git
Port 22
IdentityFile 'Your SSH Key Path' # 作成した鍵のパス
GitHub側の設定
先ほど作成した公開鍵をGitHubに登録します。
接続確認
下記を実行して接続を確認します。
ssh -T git@github.com
ここで、ssh: Could not resolve hostname github.com: Temporary failure in name resolution
のような名前解決ができないエラーが出た場合は以下を実行してみてください。
私はここでかなり詰まったので、もし同じようなエラーが出た場合は試してみてください。
# /etc/resolv.confの作成と編集
sudo vim /etc/resolv.conf
これに以下を追加します。
+ nameserver 8.8.8.8
その後、WSL2を再起動するためにPowerShellでwsl --shutdown
を実行し、再度WSL2を起動します。
参考記事:
5. その他の設定
設定ファイル
学びと高揚感のために、基本的には自分で調べて設定していくことをおすすめしますが、参考として私の設定ファイルリポジトリを載せておきます。
WSL2関連はWSL2
ディレクトリにあるので、良ければ参考にしてください。
Docker Desktopのあれこれ
WSL2からDockerを使う場合は、Windows側にDocker DesktopをインストールしてWSL2との連携を設定を行っておくと便利です。
Cドライブへのシンボリックリンク
WSL2からWindowsのファイルにアクセスしやすいように、シンボリックリンクを作成しておくと便利です。
ln -s /mnt/c/Users/ユーザー名 ~/ユーザー名_wins
おわりに
WSL2に出会うまでは正直Windowsを使うことに抵抗がありましたが、WSL2のおかげでWindowsでも快適に開発ができるようになりました。
WSL2を使うことでWindowsとMacのいいとこどりができるので、Windowsユーザーだけでなく、Macユーザーにもおすすめの環境です。ぜひ試してみてください!
この記事が、WSL2を始める方々の参考になれば幸いです。
Discussion