Windows PCにおけるWSL、Git、Python などの環境構築
この記事では科学技術計算を前提として、Windows PCのWSL環境を構築するための手順を解説します。Windows PCでPython, fortranなどのツールを利用する場合、環境構築の沼にハマり苦労する場面が多いです。対してMacやオープンソースOSのLinuxを使うとかなり環境構築が楽ですが、多くの学生はWindows PCしか所有していないと思います。そこで、新たにPCを用意しなくてもWindows PCでLinux環境を動かせると便利なのですが、それを実現するツールがWSL(Windows Subsystem for Linux)です。WSLを導入することで、Windows PC上で仮想のLinuxを動作させることができます。本ページではその方法を学部生を対象として解説します。合わせて、VS codeによるコーディング環境やWindowsターミナルのCLI環境の整え方も紹介します。
Windows 11 Pro 24H2
WindowsデフォルトのPowerShellなどのターミナルは見た目も使い勝手も非常にイケていないため、Windowsターミナル(Windows Terminal)を使うことを勧める。WindowsターミナルはMicrosoftが開発したターミナルアプリで、PowerShell、コマンドプロンプト、WSLのシェルを1つのウィンドウのタブで切り替えて使える。以降の作業はほとんどこのターミナル上で行うので、最初に用意しておく。
Windows 11には標準で入っている。スタートメニューで「ターミナル」と検索して起動する。見つからない場合やWindows 10の場合はMicrosoft Storeから「Windows Terminal」と検索してインストールする。
コマンドから入れたい場合はPowerShellで以下を実行すれば良い。
winget install --id Microsoft.WindowsTerminal
WSLのインストールなど、システムを変更するコマンドは管理者権限が必要である。スタートメニューの「ターミナル」を右クリックして「管理者として実行」を選ぶ。管理者権限で起動しているとタイトルバーに「管理者」と表示される。
タブとペインでシェルを並べて使えるのがWindowsターミナルの利点である。主な操作は以下のとおりである。
| 操作 | キー・方法 |
|---|---|
| 新しいタブを開く | Ctrl + Shift + T、またはタブ右の「+」 |
| シェルを選んで開く | 「+」の右の「∨」から選択 |
| タブを切り替える | Ctrl + Tab、Ctrl + Shift + Tab |
| ペインを左右に分割する | Alt + Shift + + |
| ペインを上下に分割する | Alt + Shift + - |
| ペインを移動する | Alt + 矢印キー |
| タブ・ペインを閉じる | Ctrl + Shift + W、または exit |
| 文字を拡大・縮小する | Ctrl + マウスホイール |
| コピー・貼り付け | Ctrl + C、Ctrl + V |
| 設定を開く | Ctrl + , |
| コマンドパレットを開く | Ctrl + Shift + P |
起動時に開くシェルは、設定(Ctrl + ,)>スタートアップ>既定のプロファイル で変更する。WSLを入れた後はUbuntuを既定にしておくと、ターミナルを開くだけでLinuxが使えて便利である。同じ画面の「既定の端末アプリケーション」を「Windows ターミナル」にしておくと、他のアプリからターミナルが呼ばれたときもWindowsターミナルが開く。
配色やフォントの設定はWindowsターミナルの配色設定に記す。
Visual Studio Code(VS Code):Microsoftが開発した無料のコードエディタ。WSLとの連携に優れており、コーディングに便利な機能が多数搭載されている。以降の作業ではプログラムや設定ファイルの編集にVS Codeを使うため、ターミナルと合わせて最初に用意しておく。
公式サイトからWindows版をダウンロードして実行する。インストーラの「追加タスクの選択」で以下の2つにチェックを入れておくと、エクスプローラーでフォルダを右クリックしてそのままVS Codeで開けるようになり便利である。
コマンドで入手する場合はWindowsターミナルで以下を実行する。
winget install --id Microsoft.VisualStudioCode
メニューを日本語にしたい場合は、拡張機能「Japanese Language Pack for Visual Studio Code」を入れて再起動する。以降はこの日本語表示を前提に説明する。
起動直後は戸惑うかもしれないが、使う場所は決まっている。
| 場所 | 名前 | 役割 |
|---|---|---|
| 左端の縦帯 | アクティビティバー | エクスプローラー・検索・Git・拡張機能などの切り替え |
| その右 | サイドバー | 選んだ機能の中身(ファイル一覧など)を表示する |
| 中央 | エディタ | ファイルの中身を編集する。タブで複数開ける |
| 下 | パネル | ターミナルや問題の一覧を表示する |
| 最下段 | ステータスバー | 行番号、文字コード、Gitのブランチなどを表示する |
VS Codeはファイル単位ではなくフォルダ単位で開いて使う。 開いたフォルダがそのまま作業対象になり、ファイル一覧・検索・Gitの状態・拡張機能の設定がすべてそのフォルダを基準に扱われる。1つのプログラムや1つの研究テーマごとにフォルダを1つ作り、それを開くのが基本である。ファイルを1つだけ開いて編集することもできるが、その使い方では補完もGitの表示も効かない。
フォルダを開く手順は以下のとおりである。
開くと左のサイドバーにフォルダの中身がツリー構造で表示される。ここに見えているものが作業対象のすべてである。
ターミナルから開くこともできる。慣れるとこちらの方が速い。
# 今いるフォルダを開く
code .
# フォルダを指定して開く
code ~/projects/myproject
末尾の.は「今いるフォルダ」という意味である。
ファイルの操作はサイドバー(エクスプローラー)で行う。
| 操作 | 方法 |
|---|---|
| 新しいファイルを作る | フォルダ名の右の「ファイルの追加」アイコン、または右クリック > 新しいファイル |
| 新しいフォルダを作る | 「フォルダーの追加」アイコン、または右クリック > 新しいフォルダー |
| ファイルを開く | ファイル名をクリックする |
| 名前を変える | 右クリック > 名前の変更(F2) |
| 削除する | 右クリック > 削除 |
ファイル名は拡張子まで付ける(main.py、hello.f90)。拡張子から言語が判別され、色分けや補完が有効になる。
編集した内容は Ctrl + S で保存する。保存していないファイルはタブのファイル名の横に「●」が付くので、実行する前にこれが消えていることを確認する。編集しただけでは反映されず、保存して初めてファイルが書き換わる。 プログラムを直したのに結果が変わらないときは、たいてい保存し忘れである。
ファイル > 自動保存 にチェックを入れると自動で保存されるようにもできる。ただし書きかけの状態も保存されるので、好みで選ぶ。
VS Codeの中でターミナルを開ける。編集とコマンド実行を1つのウィンドウで済ませられるので、Windowsターミナルとの行き来がなくなる。
exit、または右上のごみ箱アイコンこのターミナルの作業ディレクトリは、開いているフォルダになっている。そのためcdをせずにpython main.pyのようにファイル名だけで実行できる。
| 操作 | キー |
|---|---|
| コマンドパレット(様々な機能を名前で呼び出す) | Ctrl + Shift + P |
| ファイルを名前で探して開く | Ctrl + P |
| 保存する | Ctrl + S |
| フォルダ全体から文字列を検索する | Ctrl + Shift + F |
| 元に戻す、やり直す | Ctrl + Z、Ctrl + Y |
| 選んだ行をコメントにする | Ctrl + / |
| サイドバーを開閉する | Ctrl + B |
| ターミナルを開閉する | Ctrl + @ |
操作が分からなくなったらコマンドパレット(Ctrl + Shift + P)を開き、やりたいことを日本語で打ち込むと、たいていの機能は見つかる。
アクティビティバーの四角が4つ並んだアイコン(Ctrl + Shift + X)を押し、名前で検索して「インストール」を押す。この記事で使うものは以下のとおりである。すぐに全部入れる必要はなく、各章に進んだときに入れれば良い。
| 拡張機能 | 用途 |
|---|---|
| WSL | WSL上のファイルを直接編集する |
| Python | Pythonの補完・実行・デバッグ |
| Jupyter | ipynbファイルを扱う |
| Modern Fortran | Fortranの色分け・補完 |
ここから先はWSLを導入した後に行う。WSLを入れると、VS CodeからWSL内のファイルを直接編集できるようになる。
code .を実行する初回はWSL側にVS Code用のサーバが自動で入るため少し時間がかかる。接続できるとウィンドウ左下に「WSL: Ubuntu-24.04」と表示される。この表示が出ている状態で入れた拡張機能はWSL側にインストールされるので、PythonやFortranの拡張機能はここで入れる。
作業用のフォルダはWSLのホーム(~/)以下に作る。 /mnt/c/以下にあるWindows側のファイルも扱えるが、読み書きが遅く、パーミッションの問題も起きやすい。
Jupyter:Pythonのコードをブラウザやエディタ上で対話的に実行できるツールである。データ分析や可視化に便利である。Pythonの環境を作った後に設定する。
pipenvでjupyterをインストールする。
pipenv install jupyter
ipynbファイルをVS Codeで開き、右上のカーネル選択でpipenvで作成した仮想環境を選択する。
PowerShellを管理者権限で開き、以下のコマンドを実行する。
wsl --install
PCを再起動する。
以下のコマンドで利用可能なディストリビューションが表示される。
wsl --list --online
こだわりがなければUbuntuのLTS版で最新のものを選べば良い。ここではUbuntu 24.04 LTSを使う。
wsl --install Ubuntu-24.04
Enter new UNIX username: ユーザー名を決めて入力する。 New password: パスワードを決めて入力する。 Retype new password: パスワードを決めて入力する。
PowerShellを起動し、以下のコマンドを打てばインストールしたディストリビューションとWSLのバージョンを確認できる。 ディストリビューション名が指定したものになっており、バージョンが2になっていればOKである。
wsl -l -v
以後はスタートメニューにディストリビューションが追加されているのでここから開ける。Windowsターミナルを使っている場合はタブの右にある「+」からも起動できる。

インストール済みのパッケージを更新する。
sudo apt update
sudo apt upgrade
以下は必要に応じてインストールする。
vim:テキストエディタ。ターミナル上でファイルを編集する際に使用する。
sudo apt install vim
C/C++コンパイラ:C/C++プログラムをコンパイルするためのツールである。
sudo apt install make gcc g++
Fortran90/95コンパイラ:Fortranプログラムをコンパイルするためのツールである。数値計算で使用することがある。
sudo apt install gfortran gdb
WSLg(WSL GUI):WSL上でGUIアプリケーションを動かすための機能。グラフ表示や画像処理など、視覚的な操作が必要な科学技術計算で便利である。1
以前はWindows側にXサーバをインストールする必要があったが、最新のWSLを使えばWindows 10でもWSLgが動くので簡単にGUIが使える。
WSLgが有効になっているか確認する。
wsl --version
# ここでWSLgのバージョンが表示されればOK
GUIアプリ「xeyes」で動作確認する。
sudo apt install x11-apps
xeyes
目玉がグルグル動けばOK。

Git:バージョン管理システムである。プログラムの変更履歴を記録し、複数人での共同作業やコードの管理を効率的に行える。
Gitをインストールする。
sudo apt install git
ユーザー名とメールアドレスを設定する。
git config --global user.name "XXXXXX"
git config --global user.email XXXXX@XXXXXX
# 設定内容を確認する。設定した内容が表示されればOK
git config user.name
git config user.email
GitHub:Gitリポジトリをオンラインで管理できるプラットフォームである。コードの共有やバックアップ、共同開発に利用する。
SSH接続:安全にGitHubと通信するための方法である。パスワードを毎回入力せずにGitHubを利用できる。
Githubのアカウントがない場合は作成する。2
.sshディレクトリに移動する。なければ作ってから移動する。
# .sshに移動する。.sshがまだ存在しなければエラーが出る
cd ~/.ssh
# .sshがなかった場合、以下であらたに作成してから移動する
mkdir ~/.ssh
cd ~/.ssh
RSA方式で暗号鍵を作成する。名前とパスワード(パスフレーズ)を聞かれる。名前は「github」とする。
パスフレーズについて:パスフレーズを設定すると、秘密鍵が盗まれても悪用されにくくなる。ただし、Gitを使うたびにパスフレーズの入力が必要になる。セキュリティを重視するならパスフレーズを設定するのが望ましいが、利便性を優先する場合は空白(何も入力しない)でも構わない。自分の利用環境に応じて選択する。
ssh-keygen -t rsa
## 以下のように入力
Enter file in which to save the key (/home/ussy/.ssh/id_rsa): github
Enter passphrase (empty for no passphrase): <パスフレーズを入力、または何も入力せずEnter>
Enter same passphrase again: <同じパスフレーズを入力、または何も入力せずEnter>
github(秘密鍵)とgithub.pub(公開鍵)が作成される。 Githubの設定ページ3に公開鍵の中身をコピペする。名前は秘密鍵を入れている端末名とすると分かりやすい。
.sshの中にconfigというファイルを作り、下記の内容を記述する。
Host github github.com
HostName github.com
User git
IdentityFile ~/.ssh/github
下記のコマンドを打って成功のメッセージが返ってくればOKである。
ssh -T github
configファイルがない場合は以下とする。
ssh -T git@github.com
GithubのリポジトリをクローンするときはGithubのCodeからSSHを選んで表示されるURLを使用する。

pushできないときは作業ディレクトリで下記のコマンドを打ち、作業ディレクトリをSSHキーと紐付ける。
ssh-add ~/.ssh/github
pyenv:複数のPythonバージョンを管理するツールである。プロジェクトごとに異なるPythonバージョンを使い分けることができる。
pipenv:Pythonのパッケージと仮想環境を管理するツールである。プロジェクトごとに独立した環境を作ることで、パッケージのバージョン競合を避けられる。
bashとzshの違い:どちらもLinuxのシェル(コマンドを実行する環境)である。bashはデフォルトで使われることが多く、zshはカスタマイズ性が高く便利な機能が多い。後述のzsh関係のセクションでzshの設定を行うが、それまではbashを使用する。zshに切り替えた後は、zsh用のコマンドを使用する。
pyenvをインストールする。4
curl https://pyenv.run | bash
bashを使用している場合(デフォルト):
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
zshを使用している場合:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
シェルを再起動する。
exec "$SHELL"
ビルドの依存関係をインストールする。
sudo apt update
sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl git \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
# インストール済みのPythonバージョンを確認
pyenv versions
# インストール可能なPythonバージョンを一覧表示
pyenv install -l | less
# 最新のPython 3をインストール
pyenv install 3
# 現在のディレクトリで使用するPythonバージョンを設定
pyenv local 3.xx.xx
# システム全体で使用するPythonバージョンを設定
pyenv global 3.xx.xx
# 設定を反映
source ~/.bashrc # bashの場合
# または
source ~/.zshrc # zshの場合
# Pythonバージョンを確認
python3 --version
conda:Pythonの科学技術計算パッケージを管理するツールである。NumPy、pandas、matplotlibなど、科学技術計算でよく使うパッケージを簡単にインストールできる。
pyenv経由でMinicondaをインストールする。
# インストール可能なcondaのバージョンを確認
pyenv install -l | grep miniconda
# 最新のMinicondaをインストール(例:miniconda3-latest)
pyenv install miniconda3-latest
# condaを使用するように設定
pyenv global miniconda3-latest
# conda初期化(bashの場合)
conda init bash
# conda初期化(zshの場合)
conda init zsh
# シェル再起動
exec "$SHELL"
condaによるパッケージインストールでエラーが出た場合の対処法は以下のとおりである。
conda install --solver=classic -c conda-forge matplotlib
pipenvをインストールする。
pip install pipenv
プロジェクト配下にPython仮想環境を作成するように環境変数を設定する。
bashを使用している場合(デフォルト):
echo 'export PIPENV_VENV_IN_PROJECT=1' >> ~/.bashrc
source ~/.bashrc
zshを使用している場合:
echo 'export PIPENV_VENV_IN_PROJECT=1' >> ~/.zshrc
source ~/.zshrc
こうすることで仮想環境がプロジェクトフォルダ内の.venvに作られる。
この状態でVS Codeを起動し、カーネル選択時に.venv/bin/pythonを選べば良い。
pipenvの基本的な使い方は以下のとおりである。
# プロジェクトディレクトリで仮想環境を作成
pipenv install
# パッケージをインストール
pipenv install numpy pandas matplotlib
# 仮想環境に入る
pipenv shell
# 仮想環境から出る
exit
Fortran:数値計算のために作られたプログラミング言語である。数値モデルは現代でもFortranで書かれたものが一般的に使用されており、既存のコードを入手して動かす場面も多い。ここではWSL上でFortranをコンパイル・実行できるようにする。
Linuxで標準的に使われるFortranコンパイラはGNUのgfortranである。WSLの導入時に入れていれば、この節は飛ばして良い。
sudo apt install gfortran gdb
インストールできたか確認する。バージョンが表示されればOK。
gfortran --version
gfortranの他にIntelコンパイラ(ifx、Intel oneAPI HPC Toolkitに含まれる)を使う場合もあり、同じコードでもコンパイラによって速度や警告の出方が変わることがある。
作業用のディレクトリを作り、テスト用のプログラムを書く。
mkdir -p ~/projects/fortran-test
cd ~/projects/fortran-test
vim hello.f90
program hello
implicit none
integer :: i
real(8) :: total
total = 0.0d0
do i = 1, 10
total = total + dble(i)
end do
print , 'Hello, Fortran!'
print , 'sum =', total
end program hello
コンパイルして実行する。-oで実行ファイルの名前を指定する。省略するとa.outという名前になる。
gfortran hello.f90 -o hello
./hello
拡張子は.f90とする。.fは固定形式(1桁目から6桁目に意味があるカードの時代の書式)として扱われ、自由形式で書いたコードはエラーになる。
| オプション | 内容 |
|---|---|
-o NAME |
実行ファイルの名前を指定する |
-c |
コンパイルのみ行い、リンクしない(.oを作る) |
-O2 |
最適化を行う。実行が速くなる |
-g |
デバッグ情報を埋め込む(gdbで使う) |
-Wall |
警告をすべて表示する |
-fcheck=all |
配列の範囲外アクセスなどを実行時に検査する |
-fbacktrace |
異常終了したときに、落ちた場所を表示する |
-ffpe-trap=invalid,zero,overflow |
0除算などが起きた時点で止める |
-fopenmp |
OpenMPによる並列化を有効にする |
-J DIR |
モジュールファイル(.mod)の出力先を指定する |
開発中は検査を有効にしておくとバグを早く見つけられる。
gfortran -g -O0 -Wall -fcheck=all -fbacktrace main.f90 -o main
計算結果が正しいことを確認したら、最適化に切り替えて実行時間を短くする。
gfortran -O2 main.f90 -o main
-fcheck=allを付けたままだと実行が数倍遅くなるので、本番の計算では外す。
モジュールを使って複数のファイルに分ける場合、モジュールを先にコンパイルする必要がある。モジュールをコンパイルすると.modファイルが作られ、それを使う側がこれを読むためである。
# モジュールを先にコンパイルする
gfortran -c mod_const.f90
# 本体をコンパイルする
gfortran -c main.f90
# リンクして実行ファイルを作る
gfortran mod_const.o main.o -o main
ファイル数が少なければ一度に書いても良い。この場合も依存する順に並べる。
gfortran mod_const.f90 main.f90 -o main
ファイルが増えると手でコンパイルするのは大変なので、Makefileを書いてmakeコマンドで一括処理する。更新されたファイルだけを再コンパイルしてくれる。
FC = gfortran
FCFLAGS = -O2 -Wall -fcheck=all -fbacktrace
OBJS = mod_const.o main.o
TARGET = main
$(TARGET): $(OBJS)
$(FC) $(FCFLAGS) -o $@ $(OBJS)
%.o: %.f90
$(FC) $(FCFLAGS) -c $<
clean:
rm -f .o .mod $(TARGET)
インデントはタブでなければならない。 スペースで書くとmissing separatorというエラーになる。エディタの設定でタブがスペースに変換されないよう注意する。
# ビルドする
make
# 生成物を消す
make clean
行列計算やファイル入出力には既存のライブラリを使う。aptでインストールできる。
LAPACK / BLAS:連立一次方程式や固有値問題を解くための線形代数ライブラリである。
sudo apt install liblapack-dev libblas-dev
リンクするときは-llapack -lblasを付ける。
gfortran main.f90 -o main -llapack -lblas
netCDF:気象・海洋分野で広く使われる自己記述型のデータ形式である。Fortranから読み書きするにはlibnetcdff-devを入れる(netcdffのfが2つある方がFortran用である)。
sudo apt install libnetcdff-dev
インクルードパスとリンクの指定はnf-configが出力してくれるので、これをそのまま埋め込む。
gfortran main.f90 -o main $(nf-config --fflags --flibs)
gdbを使うと、プログラムが落ちた場所や、そのときの変数の値を調べられる。-g -O0を付けてコンパイルしておく。
gfortran -g -O0 -fbacktrace main.f90 -o main
gdb ./main
gdbの中でよく使うコマンドを示す。
| コマンド | 内容 |
|---|---|
run |
実行する |
break 42 |
42行目に停止位置を設定する |
next |
次の行へ進む(関数の中には入らない) |
step |
次の行へ進む(関数の中に入る) |
print x |
変数xの値を表示する |
backtrace |
どの関数から呼ばれてここに来たかを表示する |
quit |
終了する |
配列の範囲外アクセスのように原因が分かりにくいバグは、gdbを使うより-fcheck=all -fbacktraceを付けて実行する方が早く分かることが多い。
Visual Studio Codeに拡張機能「Modern Fortran」を入れると、構文の色分けと補完が使える。補完や定義ジャンプには言語サーバのfortlsが必要なので、別途インストールする。
pip install fortls
なぜ必要か:matplotlibなどでグラフを作成する際、日本語フォントが必要になる。Windows側のフォントをWSLから利用できるように設定する。6
使用可能なフォントを確認する。
sudo apt install -y fonts-ipafont
fc-list
/etc/fonts/に移動してlocal.confを作成し、下のXMLを書く。sudo vi local.confと管理者権限で編集する。読み込まれないものがあるときはWindowsの設定>個人用設定>フォントでフォントの場所を確認し、/mnt/c/Windows/Fonts以外にあれば<fontconfig>の中身を追加する。
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/fonts.conf file to configure system font access -->
<fontconfig>
<dir>/mnt/c/Windows/Fonts</dir>
</fontconfig>
上記の作業後にmatplotlibでフォントを読み込めない場合はキャッシュが残っている可能性がある。
その場合~/.cache/matplotlib/のfontlist-v~.jsonを削除する。
再インストール後に起動しなくなったWSLのUbuntuを修復する方法。以下7を参考に。
https://www.techgaku.com/fix-ubuntu-boot-error-on-wsl-after-reinstall/ ↩
zsh:bashの拡張版のシェルで、補完機能やテーマのカスタマイズなど便利な機能が多く搭載されている。見た目をカスタマイズして使いやすくすることができる。
bashからzshに切り替えてoh my zshとPowerlevel10kを入れる。89
zshをインストールして常にzshが起動するように設定する。
sudo apt install zsh
デフォルトのシェルをzshに変更する。
chsh -s /usr/bin/zsh
prezto:zshの基本的な設定を自動で行ってくれるフレームワークである。10
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
zshの設定ファイルをコピーし、新しいzshの設定を作成する。
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
oh my zsh:zshをより使いやすくするための設定管理フレームワークである。多くのプラグインとテーマが用意されている。
oh my zshをGitHubからクローンして実行する。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Powerlevel10k:zshのテーマの一つで、ターミナルの見た目を美しくカスタマイズできる。Gitの状態やコマンド実行時間などの情報を表示できる。11121314
Powerlevel10k から推奨フォント(MesloLGS NF ~ .ttf)をダウンロードしてインストールしておく。Windows側に入れてWindowsターミナルの設定で適用すれば良い。
以下の4種のファイルからフォントをインストールする。


Powerlevel10kをインストールする。
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
.zshrcを編集する。
# ZSH_THEME="robbyrussell"から以下に書き換え
ZSH_THEME="powerlevel10k/powerlevel10k"
以下で.zshrcの変更が反映され、Powerlevel10kの設定が開く。
source ~/.zshrc
Powerlevel10kの設定を再度変更したい場合には以下のコマンドを使う。
p10k configure
Windowsターミナルの配色は設定ファイル(settings.json)で変更できる。ここではSolarized Darkを見やすく調整した配色を設定する。
settings.jsonを編集する。 "list"内の適用したいシェル(例えば"Ubuntu-24.04")に以下を追加する。
"colorScheme": "Solarized Dark - Patched"
"schemes"内に、"name": "Solarized Dark - Patched"とした以下の内容を追加する。Solarized Darkを見やすく調整したものである。15
{
"name": "Solarized Dark - Patched",
"background": "#001E27",
"black": "#002831",
"blue": "#A0BEDA",
"brightBlack": "#AED0DE",
"brightBlue": "#708284",
"brightCyan": "#819090",
"brightGreen": "#80a0ac",
"brightPurple": "#5956BA",
"brightRed": "#BD3613",
"brightWhite": "#FCF4DC",
"brightYellow": "#536870",
"cursorColor": "#FFFFFF",
"cyan": "#259286",
"foreground": "#708284",
"green": "#22450E",
"purple": "#C61C6F",
"red": "#D11C24",
"selectionBackground": "#FFFFFF",
"white": "#EAE3CB",
"yellow": "#A57706"
}
設定例を以下に示す。

WSLをシャットダウンする場合はWindows側のターミナルで以下を実行する。
wsl --shutdown
外付けSSDをWSL上でマウントして使用する方法である。16
Windows側からSSDを確認する。
wmic.exe diskdrive get deviceID,Caption
Windows側で外付けSSDをアタッチする。
wsl --mount \\.\PHYSICALDRIVE1 --bare
WSL側でパーティション番号を調べる(例:sdd3であれば3)。
lsblk
Windows側で外付けSSDをマウントする。
wsl --mount \\.\PHYSICALDRIVE1 --partition 3
マウントを解除する。
wsl --unmount \\.\PHYSICALDRIVE3
Live Server:VS Codeの拡張機能で、HTMLファイルをリアルタイムプレビューできる。
live serverのsetting.jsonに以下を加える。
"liveServer.settings.useLocalIp": true,
"liveServer.settings.AdvanceCustomBrowserCmdLine": "/mnt/c/Program Files/Google/Chrome/Application/chrome.exe"
https://qiita.com/y-tsutsu/items/54c10e0b2c6b565c887a, https://qiita.com/youkidkk/items/c4fd58a32bf04d9ca6d6, https://qiita.com/tonluqclml/items/cd0d2a2cb0197cbaee42 ↩
https://www.techgaku.com/fix-ubuntu-boot-error-on-wsl-after-reinstall/ ↩
https://slacknotebook.com/zsh-powerlevel10k-installation-linux/ ↩
https://qiita.com/kazuki_yoshida/items/a66a52ef813e168195bb ↩