LoginSignup
4
4

More than 1 year has passed since last update.

Windows11でKali Linux + WindowsTerminalのモダンな開発環境を作る

Last updated at Posted at 2022-04-14

はじめに

sample.png

普段は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アプリが動作します(下の画像はシームレスモードです)
sl.png

インストール
sudo apt install -y kali-win-kex
シームレスモードで起動
kex --sl -s
ウィンドウモードで起動
kex --win -s

コマンドを打つのは面倒なので、WindowsTerminalから直接ひらけるようにします
設定を開いて以下のようなプロファイルを追加します

settings.json>profiles.list
      {
        "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)をセットアップ

starship.png

見た目がクリーンになるのでいいです(Oh My Posh派の方などは読み飛ばしてください)

インストール
curl -sS https://starship.rs/install.sh | sh

.zshrcの最後の行に起動コマンドを追加します。

~/.zshrc
eval "$(starship init zsh)"

NerdFontsで表示するのを前提として作られているため、このままだと一部文字化けします。ダウンロードします

選択肢が多くてわけがわからないですが、starship公式に書いてあったFiraCodeのFira Code Regular Nerd Font Complete Windows Compatible.otfをインストールしました

WindowsTerminalの設定に追記します(たぶんGUIのほうが楽です)

settings.json>profiles.defaults.font
{
  "profiles": {
    "defaults": {
      "font": {
        "face": "FiraCode NF",
        "size": 11
      },
    },
}

WindowsTerminalの配色の設定

配色は趣味になると思いますが、そこそこ有名なMonokaiテーマに設定しました。

settings.json>schemes
    {
      "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]などを吐いてネットワークが安定しない問題がありましたが、こちらの方法で直りました
4
4
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
4
4