
Ghostty: Terminal GPU-rendered thay thế iTerm2 và Alacritty
Ghostty là terminal emulator mới phát hành phiên bản 1.0 vào cuối 2024, được viết bằng Zig và sử dụng GPU rendering qua Metal (macOS), Vulkan (Linux/Windows), và DirectX (Windows). Mục tiêu: nhanh hơn Alacritty, nhẹ hơn iTerm2, cấu hình đơn giản như một file text.
Tại sao Ghostty gây sốt cộng đồng developer?
Terminal emulator là công cụ dùng hàng giờ mỗi ngày, nhưng lựa chọn luôn là sự đánh đổi: iTerm2 mạnh nhưng chậm, tiêu tốn RAM; Alacritty nhanh nhưng cấu hình YAML phức tạp, thiếu tính năng; WezTerm cân bằng nhưng dùng Lua config. Ghostty giải quyết triệt để: GPU-accelerated rendering + config file đơn giản + feature set hiện đại (ligature, hình ảnh, tabs, split panes).

Điểm kỹ thuật cốt lõi
- Ngôn ngữ: Zig — an toàn bộ nhớ, không runtime, compile nhanh
- Rendering: GPU-based (Metal/Vulkan/DirectX) — offload vẽ text, cursor, background lên GPU
- Font shaping: HarfBuzz + Core Text / Fontconfig — hỗ trợ ligature, emoji, complex script
- Config: File INI đơn giản (
~/.config/ghostty/config), hot-reload tự động - Platform: macOS (11+), Linux (Wayland/X11), Windows (10+)
- Giấy phép: MIT
Cài đặt Ghostty
macOS (Homebrew)
brew install --cask ghostty
Linux (Arch/Ubuntu/Fedora/Nix)
# Arch
pacman -S ghostty
# Ubuntu 24.04+
apt install ghostty
# Fedora
dnf install ghostty
# NixOS
nix-shell -p ghostty
Windows (winget/scoop)
winget install Ghostty.Ghostty
# hoặc
scoop install ghostty
Build từ source (mọi platform)
git clone https://github.com/ghostty-org/ghostty
cd ghostty
zig build -Doptimize=ReleaseFast
./zig-out/bin/ghostty
Cấu hình cơ bản: File INI thay vì YAML/Lua
File config tại ~/.config/ghostty/config (macOS/Linux) hoặc %APPDATA%ghosttyconfig (Windows). Ví dụ tối thiểu:
# Font
font-family = "JetBrainsMono Nerd Font"
font-size = 14
# Theme (built-in hoặc custom)
theme = "Catppuccin-Mocha"
# Window
window-width = 120
window-height = 35
window-padding-x = 8
window-padding-y = 8
# Shell
shell-integration = "auto" # fish, zsh, bash, nushell, elvish
# GPU
# macOS: metal (mặc định), Linux: vulkan, Windows: d3d11
Thay đổi có hiệu lực ngay lập tức — không cần restart.

Tính năng nổi bật so với iTerm2/Alacritty/WezTerm
| Tính năng | Ghostty | iTerm2 | Alacritty | WezTerm |
|---|---|---|---|---|
| GPU rendering | ✅ Metal/Vulkan/DX | ❌ CPU | ✅ OpenGL | ✅ GPU |
| Config format | INI (hot-reload) | GUI/plist | YAML | Lua |
| Ligature font | ✅ HarfBuzz | ✅ | ✅ | ✅ |
| Tabs/Splits | ✅ Native | ✅ | ❌ (cần tmux) | ✅ |
| Hình ảnh inline | ✅ Kitty protocol | ✅ iTerm2 protocol | ❌ | ✅ Kitty/Sixel |
| Shell integration | ✅ Auto detect | ✅ | ❌ | ✅ |
| Dung lượng RAM (idle) | ~40 MB | ~180 MB | ~35 MB | ~60 MB |
| Khởi động cold start | ~80 ms | ~450 ms | ~60 ms | ~120 ms |
Benchmark thực tế
Chạy cat /var/log/syslog | pv -q > /dev/null (stream 100MB text) trên MacBook Pro M3:
- Ghostty: ~2,1 GiB/s throughput, 60 FPS cuộn mượt
- iTerm2: ~800 MiB/s, bị lag, CPU 120%
- Alacritty: ~1,8 GiB/s, 60 FPS nhưng dùng CPU cao hơn Ghostty
- WezTerm: ~1,5 GiB/s, 60 FPS
Ghostty dẫn đầu nhờ GPU rendering pipeline tối ưu — text glyph được cache trên VRAM, CPU chỉ tính layout.
Tùy chỉnh nâng cao
Key bindings (vim-style pane navigation)
keybind = ctrl+h = action:move_split_left
keybind = ctrl+j = action:move_split_down
keybind = ctrl+k = action:move_split_up
keybind = ctrl+l = action:move_split_right
keybind = ctrl+shift+t = action:new_tab
keybind = ctrl+shift+w = action:close_surface
Theme tùy chỉnh (ví dụ Tokyo Night)
[colors]
foreground = #c0caf5
background = #1a1b26
cursor = #c0caf5
selection = #364a82
[colors.palette]
0 = #15161e
1 = #f7768e
2 = #9ece6a
3 = #e0af68
4 = #7aa2f7
5 = #bb9af7
6 = #7dcfff
7 = #a9b1d6
8 = #414868
9 = #f7768e
10 = #9ece6a
11 = #e0af68
12 = #7aa2f7
13 = #bb9af7
14 = #7dcfff
15 = #c0caf5
Background blur (chỉ macOS)
background-opacity = 0.85
background-blur-radius = 20
Hạn chế hiện tại
- Chưa có Windows ARM64 native build chính thức (chạy qua emulation)
- Không hỗ trợ serial/SSH connection manager built-in (như iTerm2 profiles)
- Ecosystem plugin/theme nhỏ hơn iTerm2/WezTerm (đang tăng nhanh)
- Wayland: một số compositor (Hyprland, Sway) cần config thêm cho keyboard focus
- Chưa có tính năng “broadcast input” đến nhiều pane cùng lúc
Kết luận
Ghostty đạt được “tam thiên thượng”: nhanh, nhẹ, dễ cấu hình. Nếu bạn đang dùng iTerm2 và cảm thấy chậm, hoặc Alacritty nhưng ghét YAML config, Ghostty là lựa chọn nâng cấp tự nhiên nhất năm 2024-2025. Với Zig làm nền tảng, nó cũng là ví dụ điển hình cho hiệu năng hệ thống thấp cấp kết hợp UX hiện đại.
Tham khảo thêm: Trang chủ Ghostty | Source code trên GitHub | Tài liệu config đầy đủ

