🗄️

Windows11にWSL(Ubuntu)とDocker Desktopを入れてVS CodeからUbuntuに接続し、gitの設定もする

2023/06/28に公開

自分用のメモです。
システム屋ではないので詳しいことはわかりません。

環境

  • Windows11 Home

WSLを入れるための準備

  1. 検索バーで「Windowsの機能の有効化または無効化」を検索して、ウィンドウを表示する。
    下記の2つにチェックを入れて保存
  • Linux用Windowsサブシステム(Windows Subsystem for Linux)
  • 仮想マシンプラットフォーム
  1. microsoft storeで「windows terminal(ターミナル)」をインストールする。

ターミナルからwslコマンドをインストールする

【参考】https://learn.microsoft.com/ja-jp/windows/wsl/install
管理者モードで先ほどのターミナルを起動し、wsl --install を実行。
再起動する。

Ubuntuをインストールする

【参考】https://qiita.com/ryome/items/240f36923f5cb989da27

  1. wsl --list --onlineを実行し、どのLinuxディストリビューション(何それ?)が使用できるか確認する。
  2. wsl --install -d Ubuntu-20.04とかをインストールする。一番新しいやつの安定版(LTS)でおK。
  3. ターミナルのタブ横の三角(v)からUbuntuが選べると思うので起動。無ければそのままshellにwslでエンターすればUbuntuが起動するはず。
  4. Linux用のユーザー名、パスワード(新規ユーザー作成)を求められるので入力。パスワードは文字出てこないから気を付けてね。付箋にメモしてデスクマットにin。

Docker Desktopをインストールする

  1. ここからパッケージをダウンロードして、インストール。終わったら再起動。
    https://docs.docker.com/desktop/install/windows-install/
  2. 起動したら右上の歯車(⚙)からResources > WSL integrationを選択し、Ubuntuのチェックを入れる。

VS CodeでUbuntuに接続する

よくわかんないけど、PCの中にOSが2つある状態らしい。
エクスプローラに、「Linux」タブが増えて知らないペンギンが座っている。

  1. VS Codeで下記のプラグインを追加する
  • Remote Explorer(ms-vscode.remote-explorer)
  • WSL(ms-vscode-remote.remote-wsl)
  1. WSLの効果で左下に青色の「><」が出るのでクリックする。
    「ディストリビューションを使用してWSLに接続」> 「Ubuntu-〇〇」
    これでWindows上のVS CodeアプリからWSL上のhomeディレクトリにアクセスすることができる。

  2. 任意のプロジェクトを開いてdocker compose buildする

gitの設定をする

DcokerでUbuntuの恩恵を受けるには、WSL上にリポジトリをクローンまたは作成する必要があるらしい。

WSL上にはSourceTreeもGitHabもインストールできない。不便。

VS Codeに「Git Graph(mhutchie.git-graph)」をインストール。これが代わりのGUIになる。

WSL上にはGitの認証情報などが無い。

【参考】https://qiita.com/kyamawaki/items/07fb3332cf3c2f47728a
このままhttpsでWSL上にcloneすると毎回ユーザー名、パスワードを求められて非常に面倒になる。なのでsshによる認証情報を作成する。

  1. \\wsl.localhost\Ubuntu-22.04\home\{user}内に、「.ssh」フォルダを作る
  2. ターミナルでUbuntuを起動し、cd /.sshしてフォルダに移動する
  3. ssh-keygen -t rsa -f {ファイル名}でsshキーを生成。(rsaのほかにもいくつか方式があるらしい)
  4. cat {ファイル名}.pub}でファイルの内容を表示、テキストをコピーする。(ファイル名が不明でもcat の後でtabキー押せば出てくる)
  5. GitHubとかGitLabとかで、sshキーを登録する。
  6. (この操作はやった記憶がない)
    .sshフォルダの中にconfigファイルを作って中身を入れる。
Host local-gitlab  // ホスト
HostName local-gitlab  // ホスト名
User hoge // ユーザー名
IdentityFile ~/.ssh/gitlab_rsa // 秘密鍵ファイル

7.gitコマンドを試して、接続できたら完了。

コミットの名前変じゃない?

コミット履歴見ると自分の名前がDESKTOP〇〇とかになってる……最悪……。

  1. \\wsl.localhost\Ubuntu-22.04\home\{user}内に、.gitconfigファイルを作成する。
  2. .gitconfigに下記の内容を入れる
[user]
	name = {username}
	email = {emailaddress}

ちなみに名前とメールアドレスはコード上からいつでも変更ができる。

git config --global user.name "{〇〇}"
git config --global user.email "{〇〇}"

Discussion