터미널 에뮬레이터는 개발자가 매일 사용하면서도 좀처럼 다시 들여다보지 않는 도구다. 입문 초기에 하나 정하고 평생 바꾸지 않는 경우도 많다. 하지만 터미널 환경은 급격히 변했다. GPU 가속 렌더링, 내장 멀티플렉서, 이미지 프로토콜의 등장으로 이전 세대 터미널은 답답하게 느껴지기 시작했다.
이 가이드에서는 8개의 터미널 에뮬레이터를 플랫폼 지원, 기능, 실제 개발 경험 기준으로 비교한다.
한눈에 보기
| 터미널 | 플랫폼 | GPU 렌더링 | 최적 용도 |
|---|---|---|---|
| Ghostty | macOS/Linux | ✅ | 네이티브 감성의 macOS 사용자 |
| WezTerm | 크로스 플랫폼 | ✅ | 크로스 플랫폼 + Lua 설정 |
| Kitty | macOS/Linux | ✅ | 파워 유저, 이미지 프로토콜 |
| Alacritty | 크로스 플랫폼 | ✅ | tmux와 조합하는 미니멀리스트 |
| iTerm2 | macOS | ❌ | GUI 설정을 선호하는 macOS 사용자 |
| Windows Terminal | Windows | ✅ | Windows 개발자 |
| foot | Linux (Wayland) | ❌ | Wayland 미니멀리스트 |
| Rio | 크로스 플랫폼 | ✅ | Rust 매니아 |
입력 레이턴시에 대해
입력 레이턴시 — 키를 누르고 화면에 글자가 나타나기까지의 지연 — 는 개발 경험에 영향을 미친다. 다만 신뢰할 수 있는 레이턴시 측정은 어렵고, 하드웨어, OS, 컴포지터, 디스플레이 주사율, 측정 방법에 따라 크게 달라진다.
moktavizen의 GitHub 벤치마크에서는 오래된 하드웨어(ThinkPad T430, Linux)에서 카메라 기반 Is It Snappy 도구로 여러 Wayland 터미널 에뮬레이터를 테스트했다. 해당 테스트에서 foot과 Alacritty가 가장 낮은 레이턴시를 보였고, WezTerm과 Ghostty는 다소 높았다. 하지만 이는 특정 하드웨어/OS/컴포지터 조합에 한정된 결과이므로 보편적인 순위로 볼 수 없다.
전반적으로, 여기서 소개하는 GPU 가속 터미널은 모두 일반적인 환경에서 쾌적한 타이핑 응답을 제공한다. 대부분의 개발자에게 체감 차이는 크지 않다.
Ghostty — macOS의 네이티브 감성
Ghostty는 사이드 프로젝트에서 시작해 2025년 가장 화제가 된 터미널 에뮬레이터 중 하나가 됐다. Zig로 만들어졌으며, 플랫폼 네이티브 통합을 중시한다.
돋보이는 점:
- 네이티브 플랫폼 통합. macOS에서 크로스 플랫폼 툴킷이 아닌 AppKit을 사용해, 윈도우 관리·탭·분할이 Apple 자체 앱처럼 느껴진다
- GPU 가속 고속 렌더링과 효율적인 입력 처리
- 합리적인 기본 설정. 최소한의 설정으로 바로 쾌적하게 사용 가능
- macOS에서 Core Text를 활용한 우수한 폰트 렌더링
한계:
- Windows 미지원 (현재 지원 계획 없음)
- 설정이 의도적으로 미니멀. 스크립팅이나 복잡한 키바인딩 로직 없음
- 비교적 신생. 특수한 이스케이프 시퀀스에서 가끔 엣지 케이스 발생 가능
설정 예시 (~/.config/ghostty/config):
font-family = JetBrains Mono
font-size = 14
theme = catppuccin-mocha
window-padding-x = 8
window-padding-y = 4
미니멀함이 곧 기능이다 — 설정 파일은 몇 줄이면 충분하다.
WezTerm — 최강의 크로스 플랫폼 터미널
WezTerm은 macOS, Linux, Windows에서 같은 터미널을 쓰고 싶은 개발자의 1순위다. 세 플랫폼 모두에서 진짜 제대로 쓸 수 있다.
강점:
- Lua 설정이 강력한 무기. 동적 탭 제목, 커스텀 키 테이블, 워크스페이스 전환 — 모두 프로그래밍 가능
- 내장 멀티플렉서로 많은 워크플로에서 tmux가 불필요
- 이미지 프로토콜 지원 (iTerm2 + Kitty 프로토콜)
- SSH 통합과 멀티플렉싱 — 원격 세션이 매끄럽게 연결
설정의 유연함 (~/.wezterm.lua):
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.font = wezterm.font('JetBrains Mono')
config.font_size = 14.0
config.color_scheme = 'Catppuccin Mocha'
-- 현재 프로세스를 표시하는 동적 탭 제목
wezterm.on('format-tab-title', function(tab)
local title = tab.active_pane.title
if tab.is_active then
return {{ Text = ' ' .. title .. ' ' }}
end
return title
end)
return config
한계:
- 입력 레이턴시가 다소 높음 — 커뮤니티 벤치마크에서 Alacritty, foot에 꾸준히 뒤처짐
- 메모리 사용량이 큰 편
- Lua 설정이 강력하지만 복잡해질 수 있음. 단순한 작업에도 상당한 설정이 필요할 때가 있음
Kitty — 파워 유저의 선택
Kitty는 GPU 가속 터미널이 유행하기 전부터 1인자였다. 뚜렷한 철학이 있고, 기능이 풍부하며, 성능이 뛰어나다.
주목할 기능:
- Kitty 이미지 프로토콜은 가장 널리 쓰이는 터미널 이미지 표준.
ranger,yazi,neovim등이 지원 - Kittens — 터미널 안에서 실행되는 작은 프로그램.
kitten ssh는 완전한 터미널 기능을 지원하는 SSH 세션 제공 - tmux 없이도 레이아웃과 분할 가능
고려할 점:
Kitty는 강력하지만 개발 방향에 고집이 있다. 문서가 간결한 편이고, 버전 간 호환성이 깨지는 변경도 드물지 않다. 안정성과 점진적 업그레이드를 중시하는 팀이라면 WezTerm이 더 안전한 선택일 수 있다.
Alacritty — 여전히 미니멀리스트의 정석
Alacritty가 하는 일은 딱 하나: 텍스트를 빠르게 렌더링하는 것. 탭도, 분할도, 멀티플렉서도 없다. 필요하면 tmux나 Zellij를 함께 쓰면 된다.
2026년에도 Alacritty가 맞는 경우:
- tmux나 Zellij가 이미 워크플로의 일부일 때
- 셸과 화면 사이의 오버헤드를 최소화하고 싶을 때
- 터미널 이미지 지원이 필요 없을 때
별도 설정 없이 완전한 터미널 경험을 원한다면, 적합하지 않다.
대부분의 개발자에게 추천하지 않는 것들
iTerm2: macOS에서 여전히 인기지만, GPU 렌더링이 없고 커뮤니티 벤치마크에서 GPU 가속 대안 대비 레이턴시가 눈에 띄게 높다. 남은 장점은 그래픽 설정을 선호하는 사용자를 위한 GUI 환경설정 패널 정도.
Hyper: Electron 기반 터미널. 높은 레이턴시가 무거운 터미널 사용에 치명적.
Tabby: 역시 Electron 기반. UI는 예쁘지만 근본적인 레이턴시 한계는 동일.
플랫폼별 추천
macOS: 네이티브 감성과 성능이면 Ghostty. 크로스 플랫폼 일관성이 필요하면 WezTerm.
Linux: 파워 유저에겐 Kitty. Wayland 미니멀리스트에겐 foot. macOS나 Windows도 함께 쓴다면 WezTerm.
Windows: Windows Terminal이 정말 잘 만들어져 있고 활발히 유지보수 중. 크로스 플랫폼 설정 공유엔 WezTerm.
폰트 추천
가장 큰 시각적 개선은 터미널이 아니라 폰트에서 올 때가 많다. 코딩용으로 평가가 좋은 폰트 몇 가지:
- JetBrains Mono — 무료, 우수한 리거처, 작은 크기에서도 뛰어난 가독성
- Monaspace Argon — GitHub의 폰트 패밀리, 큰 크기에서 아름다움
- Cascadia Code — Microsoft 제작, Windows Terminal과 궁합이 좋음
- Iosevka — 커스터마이징 자유도가 높아 나만의 변형 가능
좋은 폰트와 위의 GPU 가속 터미널 조합이면, 훌륭한 코딩 환경을 만들 수 있다.
여기서 다루지 않은 터미널을 쓰고 계신가요? [email protected]으로 알려주세요.