0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLの導入から各種設定まで [個人的メモ]

Posted at

はじめに

自分のPCのwsl(Windows Subsystem for Linux)を構築しなおすことになったので、自分好みの環境を構築するまでの手順を備忘録的にまとめておきます。

wslを有効にするまでの各種設定は済んでいる前提で進めます。

1. WSLのインストール

PowerShellから以下のコマンドを入力。インストールしたいディストリビューションを決めます。

PowerShell
wsl -l --online

今回はUbuntu 22.04 LTSを導入します。
以下のコマンドでインストール

PowerShell
wsl --install Ubuntu-22.04

インストールが終わったら、UsernameとPasswordの入力を求められるので入力してください。

そしたら次に各パッケージのアップデートとアップグレードを済ませてしまいましょう。
インストールしたディストリビューションのコンソールで以下を実行。

Ubuntu
sudo apt update
sudo apt upgrade

2. GithubへのSSHキーの登録

ホームディレクトリで以下のコマンドを実行

Ubuntu
ssh-keygen -t ed25519

いろいろ聞かれますが、何も入力せずEnter連打でOK
そしたらホームディレクトリに.sshディレクトリが作成されるので、その中に生成されたsshキーをgithubに登録します。
.sshディレクトリの中には2つのファイルが生成されていると思いますが、.pubとついているファイルの中身を控えておきます。
今回はクリップボードにコピーします。

Ubuntu
cd ~/.ssh
cat id_ed25519.pub | clip.exe

そしたらGithubを開き、settings > SSH and GPG keys > New SSH keyを押します。

image.png

Titleにはこのsshキーがどのデバイス/ディストリビューションのものであるかわかるような説明でも書いておきましょう。
Key typeはAuthentication
Keyには先ほどクリップボードにコピーしたsshキーを貼り付けます。
欄が埋まったらAdd SSH keyをクリック。

そしたらUbuntuに戻り、登録したSSHキーが正しく動作するかチェックします。
以下のコマンドを実行

Ubuntu
ssh -T git@github.com

「Hi あなたの名前! You've successfully authenticated, but GitHub does not provide shell access.」と表示されたら成功です。

3. エイリアスの設定

このままでは不便なLinuxなので、自分好みのエイリアスを設定します。
普段エイリアスなんか使わないという人はこの章を飛ばしてもOK
(でもエイリアスを設定することはお勧めします)

エイリアスは.bashrcに記述するのではなく.bash_aliasesファイルを作成してその中に記述するのがお作法らしいのでそれに倣います。

Ubuntu
vim .bash_aliases

そしたらお好みのエイリアスを追加していってください。
参考までに私が普段使用しているエイリアスを載せておきます。

.bash_aliases
alias cc='cd ~'
alias cl='clear'
alias lc='clear'
alias ..='cd ..'

alias nano='vim'
alias emacs='vim'
alias atom='vim'
alias code='vim'

エイリアスが追加出来たら、忘れずにエイリアスを読み込んでおきます。

Ubuntu
source .bash_aliases

4. Dockerのインストール

Dockerを使用したいのでインストールします。
巷ではDocker DesktopをWindows側にインストールする方法が一般的らしいですが、なるべくWindows側は汚したくないのでwslの中だけで完結する方法をとります。

wslのUbuntuディストリビューションでもUbuntuデスクトップと同じ方法でDockerがインストールできます。
Microsoft公式による手順をそのまま実行するだけです。

Ubuntu
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

上記のコマンドが実行出来たら、下のコマンドを実行してdockerが実行できるか確かめましょう

Ubuntu
sudo docker run hello-world

「Hello from Docker! This message shows that your installation appears to be working correctly.」

このようなメッセージが出てきたらOKです。

しかし、このままではdockerコマンドの前に必ずsudoをつけないといけないので、dockerグループに自分を追加します。

Ubuntu
sudo usermod -aG docker $USER

追加出来たらUbuntuを再起動してください。

5. GPUを使えるようにする

NvidiaのGPUが搭載されているマシンの前提で話していきます。他社のGPUを使用していたり、PCにGPUがない場合はこの章を読み飛ばしてください。

wslでGPUリソースを使用したいので設定していきます。
ただし、CUDAのバージョン違いなどで各種ツールをインストールしなおしたりが面倒なので、DockerのコンテナからGPUを使うことを想定します。

5.1. WindowsにNvidiaドライバーをインストール

WindowsにGPUドライバがインストールされていない場合は、ご自身が使用しているGPUに合ったドライバをインストールしてください。このドライバにはwslのドライバも含まれています。

インストール出来たら、一度wslを立ち上げなおしてから以下のコマンドを実行します。

Ubuntu
nvidia-smi

以下のような表示が出ればOKです。

スクリーンショット 2025-03-19 221638.png

ここで表示された「Driver Version: 566.36 CUDA Version: 12.7」とは、「CUDA 12.7バージョンまでサポートするドライバが入っていますよ」という意味(らしい)です。

参考:stack overflow

CUDAのバージョンの情報は後々必要になるので「CUDA Version: 12.7」を覚えておきましょう。

5.2. NVIDIA Container Toolkitのインストール

DockerからGPUを使用するために、wsl側にNVIDIA Container Toolkitをインストールします。
公式による手順を実行します。

Ubuntu
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

# 実験的パッケージを使用する場合、以下のコマンドでコメントアウトを削除
sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
    
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

# dockerを再起動
systemctl restart docker

5.3. 動作チェック

nvidida/cudaのイメージを動かすことでNvidia Container Toolkitが正常に動作するかチェックします。
あらかじめチェックしたCUDAバージョンに適したイメージを探します。

今回はCUDA12.4を使用します。ディストリビューションがUbuntu22.04であるため、こちらのイメージを使用します。

image.png

そしたら以下のコマンドでイメージを引っ張ってきて、内部でnvidia-smiコマンドを使用してGPUが認識されているか確認しましょう。
--gpus allというオプションは「コンテナ内でGPUを使いますよ」という意味です。

Ubuntu
docker run --gpus all nvidia/cuda:12.4.1-runtime-ubuntu22.04 nvidia-smi

先にnvidia-smiで確認した出力と同じようなものが確認できればOKです。

スクリーンショット 2025-03-19 222346.png

6. ターミナルの見た目の変更

このままだとターミナルが味気ないのでデコって行きます。

6.1. Windows Terminal

Windows11からは標準で入っているWIndows Terminalをターミナルとして使用します。
設定からプロファイル > Ubuntu > 追加の設定 > 外観 で変更します。

配色等はお好みで設定してください。今回は「One Half Dark」で行きます。

背景画像もなんかいい感じにしとくとテンションが上がります。

image.png

こうなりました。

スクリーンショット 2025-03-22 174319.png

6.2. Oh My Posh の導入

Oh My Posh というプロンプトエンジンを導入します。
これにより、のターミナルのプロンプト部分にgithubのブランチやステータスをアイコンを使って表示することができます。

6.2.1 Nerd Fontのダウンロード

Oh My Poshではアイコンを使用するため、そのためのフォントをダウンロードする必要があります。
Nerd Fontsというものが一般に使われているらしいのでそれをインストールします。
以下のサイトから気に入ったフォントのDownloadをクリックしてzipファイルを落としてください。

今回は「Hack Nerd Fonts」をダウンロードしました。
そしたら落としたzipファイルの中身を
C:\Users\ユーザー名\AppData\Local\Microsoft\Windows\Fonts
に展開してください。

Windows Terminalに移り、設定から プロファイル > Ubuntu > 追加の設定 > 外観 > フォント フェイスで先ほどダウンロードした「Hack Nerd Fonts」を選択します。

6.2.2. Oh My Poshのインストール

以下のコマンドでOh My Poshのインストールを行います。

Ubuntu
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-posh

続いてOh My Poshのテーマをインストールします。

Ubuntu
sudo apt install unzip
mkdir ~/.poshthemes
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip
unzip ~/.poshthemes/themes.zip -d ~/.poshthemes
chmod u+rw ~/.poshthemes/*.omp.*
rm ~/.poshthemes/themes.zip

最後にOh My Poshを使用するように.bashrcに記述します。
一応.bashrcのバックアップも取っておきましょう。

Ubuntu
cp ~/.bashrc ~/.bashrc_backup
echo "eval \"$(oh-my-posh init bash)\"" >> ~/.bashrc
source ~/.bashrc

こうなりました。

スクリーンショット 2025-03-22 184345.png

6.2.3 Oh My Poshのテーマ変更

Oh My Poshには様々なテーマがあります。

テーマを切り替えるには、以下のコマンドを実行します。
1_shellの部分を自分の好みのテーマにしてください。

Ubuntu
eval "$(oh-my-posh init bash --config ~/.poshthemes/1_shell.omp.json)"

7. 一旦完成

次はエディターの導入を書こうとしたけど長くなったので次回に回します。
エディターはNeoVimがおすすめです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?