前置き
本記事では、WindowsでLinuxを使用する方法(WSL2)について紹介しています。
WSLはWindows Subsystem for Linux 2の略でWindows 10上でLinuxを動作させるための仕組みであるWSLのバージョン2です
WindowsだとUNIXコマンドが使用できないので、何かしら(Git bashなど)ツールをインストールして使用する必要があります。
職場の先輩スーパーエンジニアに教えていただいた内容なのですが、Windows Terminalと組み合わせて使うと便利すぎてMacよりwindowsの方がいいかも....って思ってしまうほどです。
導入手順は大きく以下です。
- 事前準備
- WindowsにUbuntuをインストール
- Ubuntu初期設定
- WSLを起動
- Windows Terminalをインストール
- Windows Terminalを起動
- Windows Terminalのおすすめ設定
- WSL2でのWindows <-> Linux間のファイルアクセスの仕組み
環境
windows10
Ubuntu20.04
事前準備
管理者権限でPower shellを起動し、以下を実行してWSLを有効化する
dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart
続いて以下を実行。実行後、PCを再起動
dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all
WSL 2 Linux カーネルの更新ページ からWSL2用Linuxカーネルをダウンロードし、インストールする
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/99420a7779234c1db096e6332c3cf51a/image.png)
Linuxディストリビューションをインストールする際に、デフォルトでWSL2を使うように設定するため、power shellから以下を実行
wsl --set-default-version 2
WindowsにUbuntuをインストール
Microsoft Storeでubuntuをインストール
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/35b9588d2b8a4f2cafc7a363889cf76c/image.png)
Ubuntu初期設定
初回起動時にUbuntu用ユーザIDとパスワードを設定して完了
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/4e359249a258417595b9b888636e000d/image.png)
※Docker Desktop App をWSL2で使用する場合は、デフォルトだとDokcerを起動すると、The command 'docker' could not be found in this WSL 2 distro.というエラーが生じるので、
図のように、settingsからUse the WSL based engineをオンにしてあげる必要があります。
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/d2c84a5b768a480a8e8f845b5a9f60fb/image.png)
WSLを起動
インストールしたLinuxディストリビューションは通常のアプリケーションと同様に、スタートメニューから起動可能です。
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/d8546230af7d44ae81e2095a96ecac24/image.png)
これだけでもLinuxコマンドを使用してwindowsのファイルシステムを操作できるのですが、Windows Terminalを組み合わせるとさらに強力なものになるので、以下で紹介します。
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/eac315c1725e4f6889ba82a0a183bb2a/image.png)
Windows Terminalをインストール
Microsoft StoreでWindows Terminalをインストール
Windows Terminalを起動
インストール後、Windows Terminalを起動。デフォルトだとPower Shellが起動するかと思いますので、下図のようにUbuntuのタブを追加します
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/47ef41b9babf4a7183be0c471cd6dd17/image.png)
こんな感じで、複数タブごとにシェルを起動できますし、linuxコマンドを使用してWindowsを操作できます。
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/e1a085ddd4294ac4914954a54b267fbd/image.png)
Windows Terminalのおすすめ設定
デフォルトだとカレントディレクトリがホスト側(Windows)のパスになっていたり、PowerShellが起動するようになっていたりするので、おすすめの設定一覧を別途記事にまとめる予定です
WSL2でのWindows <-> Linux間のファイルアクセスの仕組み
ホスト(Windows) -> Linux
エクスプローラを開き、パスに\\wsl$
を入力すると、WSLのディストリビューション毎のファイルシステムにアクセスできます。
![](https://images.microcms-assets.io/assets/c8f47cd9ef654a2d9ca6b6e579be433f/e1d6a8a4d37e47008c66d6cf037b082d/image.png)
Linux -> ホスト(Windows)
WindowsのCドライブがLinuxの/mnt/c
にマウントされているのでLinux上で/mnt/c
にアクセスすることで、Windows上のファイルにアクセス可能。
まとめ
いかがでしたでしょうか。本記事では、WindowsだとUNIXコマンドが使用できないので、何かしら(Git bashなど)ツールをインストールして使用する必要があります。職場の先輩スーパーエンジニアに教えていただいた内容なのですが、WindowsにLinuxを入れてWindows Terminalで使うと便利すぎたので本記事に記載しておきました。