このドキュメントでは、Windows Subsystem for Linux(WSL)環境でdotfilesを使用するための詳細な手順を説明します。
WSL環境でdotfilesを使用する前に、以下の準備が必要です:
-
WSL2のインストール
# PowerShellを管理者権限で実行 wsl --install
-
VS Code/Cursorのインストール
-
Remote - WSL拡張機能
- VS Codeを起動し、拡張機能マーケットプレイスから「Remote - WSL」をインストール
-
基本的な開発ツール
# WSL内で実行 sudo apt update sudo apt install -y git curl wget build-essential -
Zshのインストール
sudo apt install -y zsh zsh-syntax-highlighting zsh-autosuggestions
WSL環境内で以下のコマンドを実行します:
# WSLのホームディレクトリで実行
cd ~
git clone https://github.com/yourusername/dotfiles.git
cd dotfiles# 実行権限を付与
chmod +x shell-scripts/install.sh
chmod +x shell-scripts/setup-cursor-vscode.sh
# メイン環境のセットアップ
./shell-scripts/install.sh
# エディタ設定のセットアップ
./shell-scripts/setup-cursor-vscode.shインストール中に以下のような質問が表示される場合があります:
- デフォルトシェルをzshに変更するか
- Windows側のVS Code設定を共有するか
- /etc/wsl.confを作成するか
# 新しいzshセッションを開始
exec zshWSL環境では、Windows/Linux間のパス変換用の関数が利用できます:
# WindowsパスをWSLパスに変換
winpath "C:\Users\YourName\Documents"
# 出力: /mnt/c/Users/YourName/Documents
# WSLパスをWindowsパスに変換
wslpath "/home/username/projects"
# 出力: \\wsl$\Ubuntu\home\username\projects# Windows側のエクスプローラーで現在のディレクトリを開く
explorer .
# Windows側のVS Codeで現在のディレクトリを開く
code .
# クリップボードへのコピー
echo "Hello" | clipWSL環境では以下の追加エイリアスが利用できます:
clip: Windows側のクリップボードへコピーwinhome: Windowsのホームディレクトリへ移動
WSL2では、Windows側のファイルは /mnt/c/ 以下にマウントされます:
# Windows側のドキュメントフォルダにアクセス
cd /mnt/c/Users/YourWindowsUsername/DocumentsWSL環境では、Windows側のファイルシステムとLinux側のファイルシステムでパーミッションの扱いが異なります。/etc/wsl.conf で適切に設定されています:
[automount]
options = "metadata,umask=22,fmask=11"-
WSL内から起動
# プロジェクトディレクトリで実行 code .
-
Windows側から起動
- VS Codeを起動
Ctrl+Shift+Pでコマンドパレットを開くRemote-WSL: New Windowを選択
WSL環境では、拡張機能は以下の2つの場所にインストールされます:
- ローカル(Windows側): UI関連の拡張機能
- WSL側: 言語サーバーやリンターなどの開発ツール
-
VS Codeがコマンドラインから起動しない
# WSLコマンドのセットアップを再実行 ./shell-scripts/setup-cursor-vscode.sh --setup-wsl -
Git設定でのファイルモード警告
# WSL環境では自動的に設定されますが、手動で設定する場合 git config --global core.filemode false
-
パフォーマンスの問題
- Windows側のファイル(
/mnt/c/)での作業は遅い - 可能な限りWSL側のファイルシステム(
~/)で作業する
- Windows側のファイル(
-
WSLの再起動が必要な場合
# PowerShellで実行 wsl --shutdown # その後、WSLを再度起動
~/.zshrc.local ファイルを作成して、WSL環境固有の設定を追加できます:
# ~/.zshrc.local の例
# Docker Desktop for Windowsとの統合
export DOCKER_HOST=tcp://localhost:2375
# X11フォワーディングの設定(GUI アプリケーション用)
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
# Windows側のツールへのパス追加
export PATH="$PATH:/mnt/c/Program Files/Docker/Docker/resources/bin"Windows Terminal を使用している場合、以下の設定を追加することで、より快適な環境を構築できます:
{
"profiles": {
"list": [
{
"guid": "{your-wsl-guid}",
"name": "WSL - Ubuntu",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "//wsl$/Ubuntu/home/username",
"fontFace": "Cascadia Code",
"fontSize": 12,
"colorScheme": "One Half Dark"
}
]
}
}cd ~/dotfiles
git pull origin main
# 設定を再適用
./shell-scripts/install.sh# WSL内で実行
sudo apt update && sudo apt upgrade
# Windows側でWSLのアップデート
wsl --update-
プロジェクトの配置場所
- パフォーマンスを重視する場合は、WSL側(
~/projects/)に配置 - Windows側のツールとの互換性が必要な場合は、
/mnt/c/以下に配置
- パフォーマンスを重視する場合は、WSL側(
-
ネットワークドライブへのアクセス
# Windows側でマウントされているネットワークドライブにアクセス cd /mnt/z/ # Zドライブの例
-
WSL2でのポートフォワーディング
- WSL2内で起動したサーバーは、Windows側の
localhostでアクセス可能
- WSL2内で起動したサーバーは、Windows側の
-
メモリ使用量の調整
# %USERPROFILE%\.wslconfig [wsl2] memory=4GB processors=2
WSL環境でのdotfiles使用に関する質問や問題がある場合は、GitHubのIssuesで報告してください。