GitHub 'ghostty-org/ghostty' 트렌딩… Zig·C 기반 네이티브 터미널 에뮬레이터, macOS Metal·Linux OpenGL 듀얼 렌더러·libghostty 임베드 라이브러리
깃허브 트렌딩에 'ghostty-org/ghostty' 저장소가 등장했다. Ghostty는 빠르고(fast), 기능이 풍부하며(feature-rich), 네이티브(native)한 터미널 에뮬레이터로 자리매김하는 것을 차별화 포인트로 내세운다. README는 "여러 우수한 터미널 에뮬레이터가 있지만 모두 속도·기능·네이티브 UI 중 하나를 선택하도록 강요한다"며 Ghostty는 세 가지를 동시에 제공한다고 밝힌다.
Ghostty는 안정 단계로, 매일 수백만 명의 사용자와 머신이 활용한다고 README는 명시한다. 프로젝트의 고수준 로드맵은 6단계로 구성된다. 표준 호환 터미널 에뮬레이션, 경쟁력 있는 성능, 풍부한 윈도잉(다중 창·탭·분할), 네이티브 플랫폼 경험, 임베디드 터미널용 크로스플랫폼 libghostty까지 5단계는 완료(✅)됐고, 'Ghostty 전용 터미널 제어 시퀀스'(6단계)는 아직 미완(❌)이다.
Ghostty는 정기적으로 사용되는 모든 제어 시퀀스를 구현해 모든 주류 터미널 프로그램을 문제없이 실행할 수 있다고 밝힌다. 레거시 시퀀스에 대해서는 xterm 동작과 비교하는 종합 감사를 진행해 적합성 테스트 케이스를 구축했다. 프로젝트는 동작 정의 우선순위를 (1) 표준(ECMA-48), (2) xterm, (3) 기타 인기 터미널 순으로 두며, 이를 'Ghostty가 보는 표준'으로 정의한다.
레거시 시퀀스 외에도 Ghostty는 거의 모든 다른 터미널 에뮬레이터보다 더 많은 현대 시퀀스를 지원한다고 명시한다. 지원 항목에는 Kitty graphics protocol, Kitty image protocol, 클립보드 시퀀스, 동기화 렌더링(synchronized rendering), 라이트/다크 모드 알림 등이 포함된다.
성능 면에서 Ghostty는 다른 최고 성능 터미널 에뮬레이터들과 동일 카테고리에 속한다고 README는 설명한다. Alacritty와는 다양한 벤치마크에서 보통 몇 퍼센트포인트 차이지만, 두 에뮬레이터 모두 Terminal.app과 iTerm 대비 약 100배 빠르다고 비교한다. 동시에 Ghostty는 Alacritty보다 기능이 훨씬 풍부하고 네이티브 앱 경험이 더 좋다는 점을 차별점으로 든다.
성능은 고수준 아키텍처 결정과 저수준 최적화로 달성됐다. Ghostty는 터미널 단위로 전용 읽기 스레드, 쓰기 스레드, 렌더 스레드를 갖는 멀티스레드 아키텍처를 채택했다. 렌더러는 리눅스에서 OpenGL, macOS에서 Metal을 사용하며, 읽기 스레드는 CPU별 SIMD 명령어를 활용하는 고도로 최적화된 터미널 파서를 갖춘다.
Mac과 Linux(GTK 빌드) 앱은 다중 창·탭·분할에 더해 탭 이름 변경·색상 등 추가 기능을 지원해 단일 창 터미널보다 높은 수준의 조직화·커스터마이즈를 제공한다. macOS 앱은 진정한 SwiftUI 기반 애플리케이션으로 실제 윈도잉·메뉴 바·설정 GUI를 갖추며, Metal 렌더러와 CoreText 폰트 디스커버리를 사용하고 AppleScript와 Apple Shortcuts(AppIntents)를 지원한다. 리눅스 앱은 GTK로 빌드되며 systemd가 있으면 항상 켜짐, 단일 인스턴스 내 새 창 생성, cgroup 격리 등 기능과 깊이 통합된다.
Ghostty는 독립 실행형 에뮬레이터일 뿐만 아니라 서드파티 프로젝트에 빠르고 기능이 풍부한 터미널 에뮬레이터를 임베드할 수 있는 C 호환 라이브러리 'libghostty'로도 제공된다. 프로젝트 규모를 고려해 libghostty는 별도 라이브러리들로 분할되며, 첫 번째인 'libghostty-vt'는 터미널 시퀀스 파싱과 터미널 상태 관리에 집중한다. libghostty-vt는 macOS·리눅스·Windows·WebAssembly에서 Zig·C로 사용할 수 있고, 기능은 매우 안정적이지만 API 시그니처는 아직 유동적이다.
Ghostty는 내장 크래시 리포터를 두며, 보고서는 $XDG_STATE_HOME/ghostty/crash 디렉터리에 저장된다. $XDG_STATE_HOME이 설정되지 않으면 기본값은 ~/.local/state다. 크래시 리포트는 자동으로 외부로 전송되지 않으며, .ghostty 확장자에 Sentry envelope 포맷으로 저장된다. 'ghostty +crash-report' CLI 명령으로 사용 가능한 크래시 리포트 목록을 확인할 수 있다.
관련 기사
Ben's Bites '빌딩이 더 쉬워진다'… Cloudflare '에이전트가 계정·도메인·배포', Stripe Sessions '288건 발표·Link 에이전트 지갑·일회용 결제 CLI', Cursor SDK·Warp 오픈소스화·OpenAI 창립 후원
Meta '비즈니스 AI 주간 대화 1,000만 건'… 연초 100만에서 10배↑, 광고주 800만+ GenAI 도구 사용·1분기 매출 563억 달러·33%↑
Spotify, '리얼 아티스트' 인증 배지 'Verified by Spotify' 도입… AI 페르소나·AI 생성 음악 위주 프로필은 런칭 시점 제외, '검색 상위 99%' 우선 인증