はじめに
普段はMacを使っているのですが、windows環境もなかなかいいなと思ったので、セットアップ手順を思い出しながら書きます。
WindowsTerminalをインストール
Microsoft製のOSSで新しいターミナルを、ストアからインストールボタンをポチります
linuxとpowershellとコマンドプロンプトを同じウィンドウで開けてすごい。
Ctrl+Shift+Pでいろんなコマンドをためしてみると楽しいです。
WSL2をインストール
ストアからインストールボタンをポチります。Windows11になって入れるのがだいぶ楽になりました。
kali-linux入れてますが、ペネトレーションテストツールが不要であれば別のディストリビューションをどうぞ。
ちなみに、MincrosoftStoreではなくwingetでインストールしたら、だいぶ古いバージョンがインストールされて時間を無駄にしました。
KaliLinuxインストール時に色々と聞かれますが、大体はデフォルトのままでいいです。
ポートフォワーディングの設定はデフォルトでONになっているらしいです。ありがたや。
kali-linuxにパッケージを入れる
ひとまず更新します
sudo apt update && sudo apt upgrade
パッケージセットをいれます
sudo apt install -y kali-linux-default
パッケージセットにzshもついてきました。zshを規定にします
sudo chsh -s $(which zsh)
sudo chsh -s /bin/zsh # だめならこっち
Win-KeXをセットアップ
windows11でlinuxのGUIアプリが動作します(下の画像はシームレスモードです)
sudo apt install -y kali-win-kex
kex --sl -s
kex --win -s
コマンドを打つのは面倒なので、WindowsTerminalから直接ひらけるようにします
設定を開いて以下のようなプロファイルを追加します
{
"closeOnExit": "always",
"commandline": "wsl -d kali-linux kex --wtstart -s",
"guid": "{55ca431a-3a87-5fb3-83cd-11ececc031d2}",
"icon": "file:///c:/users/<ユーザ名>/pictures/icons/kali-menu.png",
"name": "kali-win",
"startingDirectory": "//wsl$/kali-linux/home/<ユーザ名>"
},
{
"closeOnExit": "always",
"commandline": "wsl -d kali-linux kex --sl -s",
"guid": "{4c044aff-d034-2e7c-7568-0d00d85d6e46}",
"icon": "file:///c:/users/<ユーザ名>/pictures/icons/kali-menu.png",
"name": "kali-sl",
"startingDirectory": "//wsl$/kali-linux/home/<ユーザ名>"
},
GUIで設定してもいいです。自身の環境に合わせてよしなに設定します。
※ アイコンはググって適当にダウンロードしてきました
startingDirectoryは/mnt/c
ではなく、wslのホームに設定しましょう。
理由はIOが著しく低下するためです(ファイルシステムの変換が必要なので)。
/mnt/c
で作業するとパッケージのインストールにやたら時間がかかり、仕事になりませんでした。
プロンプト(starship)をセットアップ
見た目がクリーンになるのでいいです(Oh My Posh
派の方などは読み飛ばしてください)
curl -sS https://starship.rs/install.sh | sh
.zshrc
の最後の行に起動コマンドを追加します。
eval "$(starship init zsh)"
NerdFonts
で表示するのを前提として作られているため、このままだと一部文字化けします。ダウンロードします
選択肢が多くてわけがわからないですが、starship公式に書いてあったFiraCodeのFira Code Regular Nerd Font Complete Windows Compatible.otfをインストールしました
WindowsTerminalの設定に追記します(たぶんGUIのほうが楽です)
{
"profiles": {
"defaults": {
"font": {
"face": "FiraCode NF",
"size": 11
},
},
}
WindowsTerminalの配色の設定
配色は趣味になると思いますが、そこそこ有名なMonokaiテーマに設定しました。
{
"background": "#272822",
"black": "#272822",
"blue": "#9D65FF",
"brightBlack": "#75715E",
"brightBlue": "#AE81FF",
"brightCyan": "#66D9EF",
"brightGreen": "#A6E22E",
"brightPurple": "#AE81FF",
"brightRed": "#F92672",
"brightWhite": "#F8F8F2",
"brightYellow": "#E6DB74",
"cursorColor": "#FD971F",
"cyan": "#58D1EB",
"foreground": "#F8F8F2",
"green": "#A6E22E",
"name": "Monokai",
"purple": "#AE81FF",
"red": "#F92672",
"selectionBackground": "#75715E",
"white": "#F8F8F2",
"yellow": "#FD971F"
},
その他
- vscodeはwsl上で
code
と入力するだけでいろいろセットアップしてくれました - dockerはwsl上に入れてもいいですが、docker desktopがWSL2と連携してるので、windows上にいれました
- docker+wsl2のセットはvmmemのメモリ使用量が増大するため、マシンによってはメモリ上限を指定したほうがよいかもしれません
-
[TCP Retransmission] [TCP Port numbers reused]
などを吐いてネットワークが安定しない問題がありましたが、こちらの方法で直りました