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
- Microsoft Store에서 Windows Terminal 설치 (Windows 11은 기본 포함)
Ctrl+,(또는 ▼ 메뉴 → Settings) → JSON 직접 편집 모드- 본 가이드 예시
settings.example.json을 받아 본인 환경에 맞춰 편집 - JetBrains Mono 폰트 + 다크 테마 + acrylic 투명도
- 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)"' >> ~/.bashrc7. 자주 쓰는 패턴
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다음 단계
- Windows 초기 셋업 — Windows 11 + WSL 셋업
- WSL 튜닝 — 메모리·CPU·네트워크 튜닝
- PowerShell 프로필 —
$PROFILE시작 스크립트 - Scoop vs Winget — 패키지 매니저 비교
참고 링크
변경 이력
- 2026-05-12 — 초안 (devAlice M2 시드 확장)