9P by GN⁺ 14시간전 | ★ favorite | 댓글 11개
  • Unicode 지원 정확도성능을 기준으로 주요 터미널 에뮬레이터를 비교한 2025년 평가 결과 제시
  • Ghostty는 Zig로 새로 개발된 터미널로, 가장 높은 점수를 기록하며 정확한 유니코드 처리를 구현
  • Kitty는 Ghostty와 유사한 수준의 점수를 얻었으며, 텍스트 분할 알고리듬을 공개해 표준화에 기여
  • 다수의 터미널이 성능 저하DEC Private Mode 지원 불일치 문제를 보였고, 특히 VTE 기반 터미널은 개선 없음
  • 가변 폭 텍스트 프로토콜의 등장으로, 단일 폭 셀 한계를 넘어 다양한 언어의 가독성 향상 가능성 제시
  • Errant Champions (방랑하는 챔피언들) : Ghosty와 Kitty처럼 고전적인 규격에 안주하지 않고, 터미널의 글자폭·렌더링·유니코드 문제를 근본적으로 다시 설계한 도전자들

ucs-detect 도구와 테스트 개요

  • 2023년 발표된 Unicode 지원 비교 실험의 후속 연구로, ucs-detect 도구가 DEC Private Modes, sixel 그래픽, 픽셀 크기, 소프트웨어 버전 감지 기능을 추가
    • 이 도구는 커서 위치 제어 시퀀스를 전송하고, 터미널의 응답을 Python wcwidth 결과와 비교해 불일치 기록
  • 테스트는 각 터미널의 문자 폭 계산 정확도를 검증하며, 결과는 Unicode 지원 품질을 수치화

문자 폭 문제 (The Width Problem)

  • 터미널은 고정 폭 격자 내에서 다양한 Unicode 문자를 표시해야 하는 구조적 한계 존재
  • 결합 문자, 이모지 시퀀스, Zero-width joiner 등으로 인해 문자 폭 예측이 자주 실패
  • 이러한 오차는 커서 위치 오류출력 손상을 유발하며, 입력 위치까지 왜곡
  • 테스트 결과는 이러한 문제를 가장 적게 일으키는 터미널을 식별

Ghostty: 새로운 강자

  • Ghostty는 2025년 공개된 새로운 터미널로, Zig 언어로 처음부터 개발
    • 철저한 Unicode 지원 구현으로 정확도가 가장 높으며, 테스트에서 최고 점수 기록
  • 개발자 Mitchell Hashimoto는 2023년 Grapheme Clusters and Terminal Emulators 글을 통해 기본 원리를 연구
  • 새로 발표된 libghostty는 기존 libvte를 대체할 수 있는 대안으로, 향후 터미널 생태계에 강력한 Unicode 기반을 제공할 가능성 있음

Kitty: 또 다른 챔피언

  • Kitty는 Ghostty와 거의 동일한 점수를 기록했으며, 텍스트 셀 분할 알고리듬을 공개
    • 이 알고리듬은 Python wcwidth 사양과 일치하며, Unicode 표준 해석에 기반
  • 두 터미널만이 Variation Selector 15를 올바르게 지원
    • 이 기능은 실용성은 낮지만, Python wcwidth의 향후 표준 반영 예정

터미널 에뮬레이터 Unicode 성능 비교 요약

  • 1위 Ghostty, 2위 Foot, 3위 Kitty가 상위권을 차지함
    • 세 터미널 모두 Unicode 처리 정확도(WIDE/LANG/ZJW/VS16) 항목에서 최고 점수 기록
    • Ghostty모든 항목 100점으로 종합 점수 100점, DEC Modes도 enabled
    • Kitty는 성능(Elapsed time 1748s)이 다소 느리지만 정확도 최고 수준
  • VTE 기반 터미널(GNOME Terminal, Terminator, LXTerminal 등) 은 하위권 유지
    • 모두 Final Scaled Score 5점 이하, 테스트 시간 8000~18000초로 매우 느림
    • 2023년과 동일하게 개선 없음
  • 성능(Elapsed time) 측면에서 Foot, WezTerm, tmux, Konsole 등이 빠름 (100초 미만)
    • iTerm2, Extraterm은 CPU 점유율 높아 매우 느린 편 (4000초 이상)
  • Sixel 그래픽 지원은 상위권에서도 일부만 제공
    • Ghostty, Kitty, Konsole, contour는 지원
    • GNOME Terminal, VTE 계열은 대부분 미지원
  • Variation Selector 15(VS15) 를 올바르게 지원하는 터미널은 Ghostty와 Kitty 단 두 개
    • Unicode 처리 완성도 면에서 사실상 두 프로젝트가 독보적임

성능 분석 (The Long Road)

  • 다수의 터미널이 매우 느린 성능을 보여, 테스트 완료에 수 시간이 소요
    • iTerm2Extraterm은 CPU를 과도하게 사용하며, 테스트 시간을 단축해야 했음
    • GNOME TerminalVTE 기반 터미널은 CPU 사용률은 낮지만 5시간 이상 소요
  • Python wcwidth는 고수준 언어임에도 대부분의 터미널과 속도를 맞춤
  • 성능 최적화를 위해 비트 벡터, 블룸 필터, LRU 캐시 등을 실험했으나, 이진 탐색 + LRU 캐시 조합이 가장 효율적
    • LRU 캐시는 반복되는 문자 집합을 처리할 때 효과적
  • C 모듈 도입도 고려했으나, 현재 Python 구현으로도 충분한 성능 확보

특이 사례와 문제점 (Tilting at Edges)

  • Terminology는 실행마다 결과가 달라, 내부 상태 손상 가능성 존재
  • iTerm2는 모든 DEC Private Mode를 “지원하지만 비활성화” 상태로 보고
  • Konsole은 질의에는 응답하지 않지만 일부 모드는 활성화 시 지원
  • Contour는 잘못된 모드 번호로 응답해 “지원 없음”으로 표시되었으며, 2024년 12월 릴리스에서 ESC 키 설정 오류 발생
  • VTE/7600 기반 터미널은 2023년과 동일한 낮은 점수 유지
  • libvte 프로젝트의 Unicode 개선 논의는 비판을 받았으나, Emoji 시퀀스 지원 이슈가 2026년 개선 신호로 평가

Mode 2027 관련

  • Mode 2027은 터미널의 Unicode 지원 여부를 단순히 “지원/비지원”으로 구분하지만, 세부 기능 수준은 알 수 없음
  • 실제로는 ucs-detect처럼 개별 기능과 코드포인트를 직접 테스트하는 방식이 더 정확

고정 폭을 넘어서 (Beyond Fixed Widths)

  • 고정 폭 셀 구조는 많은 언어의 가독성 저하를 초래
  • 텍스트 크기 조절 프로토콜(text sizing protocol) 은 이를 해결할 새로운 접근
    • Kitty의 Kovid Goyal은 “마크다운 파일의 제목을 크게 보고 싶다”는 예시로 설명
  • 이 기능은 접근성 향상복잡한 문자 스크립트의 가독성 개선 가능성 제시
  • 예시로 ContourKate 에디터의 Khün 언어 표시 비교에서, 가변 폭 렌더링이 더 명확한 결과 제공
  • 글꼴 엔진이 셀 단위 제약 없이 텍스트를 렌더링할 수 있도록 하는 가변 폭 모드가 향후 발전 방향으로 제시됨
  • 텍스트 크기 프로토콜의 도입은 이러한 문제 해결의 진전으로 평가됨

Kitty가 기능은 좋은데 메인테이너가 한심한 인간이라 Ghostty라는 대안이 생긴 것이 기쁘네요.

그냥 윈도우 터미널 씁니다

결국 iTerm2 로 돌아옴

항상 Gnome terminal로 돌아오던데...

Ghostty나 Kitty가 Windows도 지원하면 참 좋을 것 같습니다. ㅠ

config만 잘 만진다면 WezTerm도 꽤 괜찮았습니다. (Windows 지원)
https://news.hada.io/topic?id=9270

tabby는 비주류인가봐요.. ghostty 한번 써봐야겠네요

아. ghostty는 윈도우용이 없군요;

LLM CLI 프로그램때문에 터미널에서도 영어권 외 다양한 언어들이 터미널에서 쓸일이 많아질텐데
그런 관점에서 터미널 에뮬레이터의 유니코드 지원은 정말 중요한 것 같아요

ghostty 에서 cmd+f 기능만 들어오면 완벽할 것 같습니다. 없으니 은근 불편하네요

그리고 split 해둔 상태에서 이걸 어떻게 별도 window로 분리하는지 모르겠네요. 혹시 아시는 분 있을까요? ㅜ

alacritty 무시하지마~~~

Hacker News 의견
  • 회사 일 때문에 처음으로 Windows Terminal을 써봤음
    평생 Linux에서 개발만 하다가 써보니 Ctrl+C, Ctrl+V가 너무 똑똑하게 작동함
    선택 영역이 없을 때는 프로세스 중단, 선택이 있을 때는 복사로 동작하고, 붙여넣기도 그냥 Ctrl+V로 됨. 정말 편리함

    • Linux(특히 Wayland)에서는 아예 Ctrl+C 없이도 복사가 가능함
      텍스트를 선택만 하면 복사되고, 다른 창에서 가운데 마우스 버튼으로 붙여넣을 수 있음
      이걸 Primary Selection이라 부르며, 일반 클립보드(Ctrl+C/V)와는 별개로 작동함. 개인적으로 이 방식이 더 편리함
  • 흥미로운 점은, 우리가 흔히 “터미널 에뮬레이터”라고 부르는 프로그램들이 실제로는 터미널을 완전히 에뮬레이션하지 않음
    하지만 이제는 가능함. MAME으로 VT102를 실제로 에뮬레이션하는 방법을 참고하면 됨
    WSL에서도 동작하며, socatmame을 연결해 진짜 하드웨어 터미널처럼 쓸 수 있음
    예전에 VT220용으로 마우스 제어나 붙여넣기 기능을 추가한 고수준 VT220 에뮬레이터를 만들어보고 싶었는데, 이 글을 보고 다시 생각남

  • KDE의 Konsole이 높은 순위에 오른 게 반가움
    수십 년 된 터미널인데도 최신 터미널들과 성능 면에서 대등하게 경쟁하고 있음

    • KDE 환경에서는 기본으로 제공되는 Konsole을 그냥 쓰면 됨
      커스터마이징이 자유롭고 속도도 충분히 빠름
      Dolphin에서 마우스 오른쪽 클릭으로 바로 현재 폴더에서 Konsole을 열 수 있는 점이 특히 좋음
      무한 스크롤백 기능도 유용함. 오래된 로그가 파일로 자동 교체되어 버려지지 않음
      Ctrl+Shift+X로 전체 초기화 단축키를 설정해두고 자주 사용함
  • 관련 자료로는

  • 목록에 DECterm이 빠져 있음
    DECterm 개요 문서를 보면 알 수 있듯, X Window System에서 최고의 VT220 에뮬레이션을 제공했음
    VT100의 “double wide”나 “double high, double wide” 문자 모드를 지원하는 터미널은 거의 없음. 그 거대한 글자들이 꽤 재미있었음

    • xterm은 해당 모드를 지원함. 예전에 이와 관련해 이모지 지원에 대한 글을 올린 적 있음: Can your terminal do emojis?
    • 이상하게도 Windows Terminal은 DECDHL을 지원하지만, Linux 쪽에서는 거의 지원하지 않음
  • 한동안 Alacritty를 잘 써왔는데, 최근에 Ghostty를 써보고 깜짝 놀람
    여러 컴퓨터에서 일할 때 유용한 내장 테마 선택기가 있어서 매우 편리함
    전반적으로 Alacritty보다 더 나은 대안처럼 보임. 개발자들이 정말 잘 만든 듯함

    • Ghostty에서 유일하게 아쉬운 점은 스크롤백 검색 기능이 아직 없다는 것임
      tmux로 흉내낼 수는 있지만 완전히 같지는 않음
    • Alacritty는 2017년부터 글자 합자(ligature) 지원 이슈가 열려 있는데 아직 구현되지 않음
      Ghostty에 Windows 지원만 추가되면 완벽할 듯함
    • 내장 테마 선택기는 당연한 기능이라고 생각했는데, 의외로 그렇지 않았음
  • 터미널이 특정 문자 리스트의 폰트 지원 여부를 질의할 수 있으면 좋겠음
    이렇게 하면 TUI 프로그램이 최신 유니코드나 Private Use 문자(예: powerline, font-awesome 아이콘) 를 쓸 때, 지원되지 않는 경우 자동으로 대체 문자를 표시할 수 있을 것임

  • Windows Terminal에 대한 언급이 적은 게 아쉬움
    Linux 쪽 생태계가 더 풍부하긴 하지만, 지금은 WT가 여러 Linux 터미널보다 훨씬 상위권임
    10년 전에는 상상도 못 했을 일임

    • 테스트 결과에서 Windows Terminal(“terminal.exe”로 표기됨)은 4위에 올랐음
      참고로 가끔 이 영상을 다시 보는데, 개발자 이름이 숨겨진 이스터에그가 있어서 좋아함
    • Windows를 떠난 뒤 가장 그리운 게 바로 이 터미널임
      탭, 테마, 창 이름 변경이 훌륭하고, 각 창의 용도를 한눈에 파악할 수 있음
    • 개인적으로도 가장 좋아하는 터미널임. 지금은 macOS에서 Ghostty를 쓰고 있지만, WT만큼은 아님
  • Foot 터미널도 훌륭함
    Wayland 전용이지만 가볍고 빠르게 실행됨. 리소스 사용량도 적음

    • 나도 현재 Foot을 주력으로 사용 중임
      Ghostty도 좋았지만, 빈 터미널 하나 띄우는 데 메모리 사용량이 10배 이상 차이남
  • macOS 기본 터미널은 이번 결과에서 29위였음

    • 하루 종일 macOS Terminal.app을 쓰지만, “더 나은 터미널이 필요하다”는 생각을 해본 적이 없음
    • 사실 Apple은 90년대 후반 NeXT에서 물려받은 이후 거의 업데이트를 안 함
      그래도 최근 버전(macOS 26)에서는 Powerline과 24비트 컬러를 지원함
    • 참고로 Windows 기본 터미널은 4위였음
    • 순위 산정에 내가 원치 않는 부가 요소들이 반영된 것 같음