devAlice
← Windows

Windows Terminal 셋업 — 탭·분할·WSL/PowerShell 통합 + Oh My Posh

Windows Terminal을 macOS iTerm처럼 만들기. settings.json으로 프로필·키바인딩·테마 한 번에 굳히기.

Windows 개발의 시작은 Windows Terminal이다. WSL·PowerShell·Command Prompt를 탭과 분할로 한 창에 묶고, JSON 한 파일(settings.json)로 모든 설정을 굳힐 수 있다. 한 번 잘 만들어두면 macOS iTerm + tmux와 거의 동등한 작업 환경이 된다.

이 가이드는 Windows 11 / Windows Terminal 1.21+ 기준. Windows 초기 셋업·WSL 튜닝 이후 매일 쓰는 터미널을 다듬는 단계다.

TL;DR

  1. Microsoft Store에서 Windows Terminal 설치 (Windows 11은 기본 포함)
  2. Ctrl+, (또는 ▼ 메뉴 → Settings) → JSON 직접 편집 모드
  3. 본 가이드 예시 settings.example.json을 받아 본인 환경에 맞춰 편집
  4. JetBrains Mono 폰트 + 다크 테마 + acrylic 투명도
  5. Oh My Posh로 PowerShell prompt 꾸미기

사전 조건

  • Windows 11 (10에서도 동작, 일부 acrylic 효과 차이)
  • WSL2 설치 — WSL 튜닝
  • (선택) PowerShell 7 (winget install Microsoft.PowerShell)

settings.json 다운로드

devAlice 권장 베이스라인 — 그대로 받아 GUID만 본인 머신 값으로 교체하면 된다.

settings.json
# 1. 다운로드
Invoke-WebRequest `
  -Uri https://devalice.jaceclub.com/assets/windows/windows-terminal-setup/settings.example.json `
  -OutFile settings.json
 
# 2. SHA-256 검증 (Windows PowerShell)
Get-FileHash settings.json -Algorithm SHA256
# 기대값(Hash): BBDEBB16B68F5BBD9041DBE4FEFEC8BA5F30B497325F2A11B922C1DAEDB8525F
# (소문자: bbdebb16b68f5bbd9041dbe4fefec8ba5f30b497325f2a11b922c1daedb8525f)
 
# 3. 코드 검사
notepad settings.json
 
# 4. 적용 위치로 복사 (Windows Terminal Stable)
$dst = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
Copy-Item settings.json $dst -Force

⚠️ guid 필드 4개는 본인 머신 값으로 교체 필요. Windows Terminal 메뉴에서 한 번 프로필을 열어보면 자동 생성된 GUID를 확인할 수 있다.


1. Windows Terminal 설치 — 1분

Windows 11은 기본 포함. 아니면:

winget install Microsoft.WindowsTerminal

설치 후 Win + T 또는 시작 메뉴 → "Terminal".

기본 단축키 (수정 전)

동작
Ctrl+,Settings
Ctrl+Shift+T새 탭
Ctrl+Tab다음 탭
Ctrl+Shift+W탭 닫기
Alt+Shift++우측 분할
Alt+Shift+-하단 분할

2. settings.json 직접 편집 — 5분

GUI는 한계가 있다. JSON으로 가자.

Ctrl+, (Settings) → 좌하단 ⚙ Open JSON file → 기본 편집기로 settings.json 열림.

경로:

%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json

Windows Terminal Preview는 같은 경로의 Microsoft.WindowsTerminalPreview_.... 다른 파일.

핵심 키 5개

{
  "$schema": "https://aka.ms/terminal-profiles-schema",
 
  // 기본으로 열릴 프로필 (GUID)
  "defaultProfile": "{2c4de342-...}",  // 예: Ubuntu WSL
 
  // 선택 시 자동 복사 — iTerm 스타일
  "copyOnSelect": true,
  "copyFormatting": "none",  // 색상·서식 제외 plain text만
 
  // 테마
  "theme": "dark"
}

3. 프로필 — WSL + PowerShell 7 + 숨김 — 10분

3.1 Ubuntu (WSL) 프로필

{
  "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",  // 본인 머신 값
  "name": "Ubuntu (WSL)",
  "source": "Windows.Terminal.Wsl",
  "commandline": "wsl.exe -d Ubuntu",
  "startingDirectory": "//wsl$/Ubuntu/home/%USERNAME%",
  "colorScheme": "One Half Dark",
  "icon": "ms-appx:///ProfileIcons/{9acb9455-ca41-5af7-950f-6bca1bc9722f}.png"
}

startingDirectory를 WSL 내부 홈으로 지정하면 새 탭마다 자동으로 ~/ 시작.

3.2 PowerShell 7 프로필

{
  "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",  // 본인 머신 값
  "name": "PowerShell 7",
  "commandline": "pwsh.exe -NoLogo",
  "startingDirectory": "%USERPROFILE%",
  "colorScheme": "Campbell Powershell",
  "icon": "ms-appx:///ProfileIcons/pwsh.png"
}

-NoLogo — PowerShell 시작 시 환영 메시지 숨김. 매번 보일 필요 없다.

3.3 안 쓰는 프로필 숨기기

기본 생성되는 Command Prompt·Azure Cloud Shell·Windows PowerShell(5.1)은 거의 안 쓰면 숨기자:

{
  "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
  "name": "Windows PowerShell",
  "hidden": true
}

4. 폰트 + 테마 — 5분

4.1 JetBrains Mono 설치

winget install JetBrains.JetBrainsMono
# 또는: scoop bucket add nerd-fonts; scoop install JetBrainsMono-NF

설치 후 재로그인 권장 (폰트 캐시 갱신).

4.2 defaults에 폰트 적용

"profiles": {
  "defaults": {
    "fontFace": "JetBrains Mono",
    "fontSize": 12,
    "fontWeight": "normal",
    "useAcrylic": true,
    "acrylicOpacity": 0.85,
    "cursorShape": "filledBox",
    "antialiasingMode": "cleartype",
    "padding": "10",
    "scrollbarState": "hidden",
    "snapOnInput": true,
    "historySize": 50000
  },
  // list...
}

defaults에 둔 값은 모든 프로필에 자동 적용. 개별 프로필에서 덮어쓰기 가능.

4.3 추가 테마 (선택)

schemes 배열에 색상 팔레트 추가. Windows Terminal Themes에서 JSON 복사.


5. 키바인딩 — Mac 표준 흉내 — 5분

actions 배열에 추가. 위 다운로드 자산이 이미 다음을 포함:

"actions": [
  { "command": "find",                                       "keys": "ctrl+shift+f" },
  { "command": "paste",                                       "keys": "ctrl+shift+v" },
  { "command": "copy",                                        "keys": "ctrl+shift+c" },
  { "command": { "action": "splitPane", "split": "right" }, "keys": "alt+shift+plus" },
  { "command": { "action": "splitPane", "split": "down"  }, "keys": "alt+shift+minus" },
  { "command": "closePane",                                   "keys": "ctrl+shift+w" },
  { "command": { "action": "moveFocus", "direction": "left"  }, "keys": "alt+left" },
  { "command": { "action": "moveFocus", "direction": "right" }, "keys": "alt+right" },
  { "command": { "action": "newTab" },                       "keys": "ctrl+shift+t" },
  { "command": { "action": "nextTab" },                      "keys": "ctrl+tab" }
]

iTerm·Terminal.app 사용자가 자연스럽게 옮겨올 수 있는 매핑.


6. Oh My Posh — PowerShell prompt 꾸미기 — 10분

PS C:\Users\u>는 정보가 부족하다. git branch, exit code, 경로 단축 등을 보고 싶다.

6.1 설치

winget install JanDeDobbeleer.OhMyPosh

설치 후 새 터미널.

6.2 PowerShell 프로필에 적용

notepad $PROFILE
# 파일이 없다면 New-Item -Path $PROFILE -ItemType File -Force

내용:

oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\jandedobbeleer.omp.json" | Invoke-Expression

새 PowerShell 창에서 즉시 적용.

6.3 테마 변경

Get-PoshThemes              # 모든 테마 미리보기
oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\powerlevel10k_rainbow.omp.json" | Invoke-Expression

원하는 테마 이름을 $PROFILE에 저장하면 영구 적용.

6.4 WSL의 bash/zsh에도 적용 (선택)

# WSL bash/zsh 안에서
curl -s https://ohmyposh.dev/install.sh | bash -s
echo 'eval "$(oh-my-posh init bash --config ~/.poshthemes/jandedobbeleer.omp.json)"' >> ~/.bashrc

7. 자주 쓰는 패턴

7.1 빠른 분할 + 다른 명령

Alt+Shift++로 우측 분할 → 새 패널에서 wsl -d Ubuntu로 WSL 열기. 좌측은 PowerShell, 우측은 WSL — Mac iTerm + tmux 흉내.

7.2 tmux는 WSL 안에서

Windows Terminal은 윈도우 분할만 — 진짜 세션 관리(detach·reattach)는 WSL 안 tmux에 위임:

# WSL bash에서
sudo apt install tmux
tmux new -s dev          # 새 세션
# 작업 후 Ctrl+B → D  (detach)
tmux attach -t dev       # 다시 붙기

Windows Terminal을 닫아도 tmux 세션은 살아있다.

7.3 settings.json을 Git에 보관

$src = "$env:LOCALAPPDATA\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json"
$dst = "$HOME\dotfiles\windows-terminal\settings.json"
mkdir "$HOME\dotfiles\windows-terminal" -ErrorAction SilentlyContinue
Copy-Item $src $dst -Force
cd "$HOME\dotfiles"
git add windows-terminal/settings.json
git commit -m "feat: windows terminal settings"

새 머신에서 반대로 복사하면 즉시 동기화.


8. 트러블슈팅

폰트가 적용 안 됨

JetBrains Mono 설치 직후엔 폰트 캐시 갱신 필요. 재로그인 또는 재부팅 권장.

acrylic 투명도가 안 보임

Windows 11에서 배터리 절약 모드 또는 투명도 효과 비활성화 시 acrylic이 무시된다. Settings → Personalization → Colors → Transparency effects 활성화.

WSL 프로필 startingDirectory 작동 안 함

//wsl$/...(forward slash 2개)로 시작해야 함. backslash \\wsl$\\...는 일부 환경에서 깨진다.

PowerShell 7 prompt가 깨짐 (글자 깨짐)

Oh My Posh 일부 테마는 Nerd Font 필요. JetBrains Mono Nerd Font Mono로 폰트 변경:

winget install JetBrains.JetBrainsMono   # 일반 버전
# Nerd Font 버전은 https://www.nerdfonts.com/ 또는 scoop

다음 단계

참고 링크

변경 이력

  • 2026-05-12 — 초안 (devAlice M2 시드 확장)

댓글