Ghostty 1.4.0 ra mắt: hỗ trợ đầy đủ đồ họa Kitty, tiết kiệm bộ nhớ và tăng tốc vượt bậc

Công nghệ27 tháng 10, 2026·6 phút đọc

Ghostty 1.4.0 là bản phát hành lớn sau 7 tháng phát triển với 2.889 commit từ 172 người đóng góp. Bản cập nhật bổ sung hỗ trợ hoàn chỉnh giao thức đồ họa Kitty (gồm cả hoạt ảnh), nén lịch sử cuộn giúp giảm 70-90% bộ nhớ vật lý, tích hợp SSH mới qua ghostty +ssh và hàng loạt bản vá bảo mật quan trọng.

Ghostty 1.4.0 ra mắt: hỗ trợ đầy đủ đồ họa Kitty, tiết kiệm bộ nhớ và tăng tốc vượt bậc

Ghostty vừa phát hành phiên bản 1.4.0, đánh dấu một bước tiến đáng kể của trình giả lập terminal mã nguồn mở này. Sau 7 tháng làm việc với 2.889 commit từ 172 người đóng góp, bản cập nhật tập trung vào ba trụ cột chính: hiệu năng, quản lý bộ nhớ và độ chính xác của quá trình giả lập terminal.

Đáng chú ý, bản phát hành này cũng vá một loạt lỗ hổng bảo mật nghiêm trọng, bao gồm các lỗi có thể dẫn tới thực thi mã tùy ý trên macOS khi người dùng nhấp chuột vào liên kết độc hại hoặc kéo thả văn bản.

Hỗ trợ hoàn chỉnh giao thức đồ họa Kitty

Ghostty 1.4.0 hiện đã hỗ trợ hoạt ảnh (animation) và vị trí tương đối (relative placements) trong giao thức đồ họa Kitty — những tính năng lớn cuối cùng còn thiếu. Điều này đưa Ghostty (và thư viện libghostty) trở thành terminal đầu tiên ngoài chính Kitty đạt 100% mức tuân thủ đặc tả công bố.

  • Ảnh GIF động hiển thị qua kitten icat giờ đây thực sự chuyển động thay vì chỉ hiện một khung hình tĩnh.
  • Hoạt ảnh tự động tạm dừng khi cửa sổ terminal không hiển thị.
  • Vị trí tương đối cho phép chương trình đặt một ảnh dựa trên vị trí của ảnh khác, giúp ảnh con di chuyển theo ảnh cha.

Nhờ phân tích dữ liệu ảnh bằng SIMD thay vì từng byte, tốc độ xử lý ảnh lớn nhanh hơn khoảng 16 lần trong các bài đo chuẩn (64 MiB dữ liệu ảnh trên Linux x86_64).

Nén lịch sử cuộn, giảm mạnh bộ nhớ

Một trong những thay đổi thiết thực nhất là nén trong suốt phần lịch sử cuộn không hiển thị. Với lịch sử văn bản thông thường, bộ nhớ vật lý tiêu tốn giảm từ 70% đến 90%.

  • Quá trình nén chỉ chạy khi terminal rảnh, các trang được giải nén theo nhu cầu khi người dùng cuộn hoặc tìm kiếm.
  • Nhờ vậy, giới hạn lịch sử cuộn mặc định được nâng từ 10 MB lên 50 MB mỗi terminal, mà vẫn thường dùng ít bộ nhớ vật lý hơn mức 10 MB trước đây.
  • Một terminal mới, trống chỉ chiếm khoảng 16 KiB bộ nhớ trang trên macOS, giảm từ 128 KiB.
  • Các tab ẩn giờ đây giải phóng tài nguyên GPU: trên macOS, với 1 tab hiển thị và 20 tab ẩn, bộ nhớ GPU giảm từ khoảng 385 MiB xuống còn 18 MiB.

Hiệu năng tăng vọt nhờ kiến trúc I/O mới

Ghostty 1.4.0 phát hiện ra rằng trên macOS, kernel giới hạn mỗi lần đọc từ pty ở mức khoảng 1 KiB. Bản cũ xử lý từng lần đọc ngay khi đến, khiến chi phí overhead bị trả mỗi kilobyte. Phiên bản mới đọc pty trên một luồng riêng song song với luồng phân tích, giúp thông lượng I/O đầu cuối tăng 25% đến 55%.

Kết quả cụ thể:

  • Tốc độ xử lý văn bản ASCII thông thường tăng từ 128 MB/s lên 725 MB/s (gấp 5,7 lần).
  • Văn bản CJK xử lý nhanh gấp 3,4 lần.
  • Lệnh cat một file văn bản 150 MB trên macOS giảm từ 1,5 giây xuống còn 566 mili giây.
  • Thay đổi kích thước cửa sổ với lịch sử cuộn lớn nhanh gấp khoảng 6 lần.
  • Sao chép và tìm kiếm nội dung terminal nhanh gấp 1,5 đến 8 lần.

SSH tích hợp qua ghostty +ssh

Tính năng tích hợp SSH từng được giới thiệu ở bản 1.2 nay được hoàn thiện với lệnh CLI mới ghostty +ssh — một lớp bọc thay thế trực tiếp cho ssh, chuẩn bị phiên từ xa cho Ghostty rồi chạy ssh thật với các tham số được chuyển nguyên vẹn.

ghostty +ssh [email protected]
# Hoặc đặt alias để mọi lệnh ssh đều đi qua nó
alias ssh='ghostty +ssh --'

Trước khi kết nối, lệnh này cài terminfo của Ghostty lên máy chủ từ xa để dùng giá trị TERM xterm-ghostty chuẩn, đồng thời chuyển tiếp các biến môi trường COLORTERM, TERM_PROGRAM và TERM_PROGRAM_VERSION. Nếu cài đặt thất bại, nó tự động lùi về TERM=xterm-256color.

Hàng loạt bản vá bảo mật quan trọng

Bản phát hành vá nhiều lỗ hổng đáng lo ngại, đáng chú ý nhất trên macOS:

  • Cmd-click vào liên kết OSC 8 độc hại có thể mở file cục bộ không an toàn hoặc lược đồ URL tùy chỉnh, dẫn tới thực thi lệnh tùy ý. Ghostty giờ chặn các mục tiêu nguy hiểm và yêu cầu xác nhận với lược đồ URL tùy chỉnh.
  • Kéo thả văn bản từng bỏ qua cơ chế bảo vệ dán, gây hậu quả tương tự.
  • Mở file có tên chứa ký tự điều khiển có thể chạy lệnh khác với lệnh hiển thị trong hộp thoại xác nhận.
  • Lệnh đồ họa Kitty độc hại có thể làm treo Ghostty, ép cấp phát bộ nhớ khổng lồ hoặc đọc/xóa file ngoài thư mục tạm cho phép — chỉ cần hiển thị nội dung độc hại là đủ kích hoạt.
  • Chế độ điều khiển tmux có thể bị khai thác để làm sập Ghostty và đóng mọi cửa sổ, ngay cả khi tmux không được cài đặt.

Nhóm phát triển cho biết đã yêu cầu cấp mã CVE cho các cảnh báo trên và sẽ cập nhật khi GitHub phân bổ xong.

Thay đổi có thể gây ảnh hưởng tới người dùng

Bản 1.4.0 có một số thay đổi phá vỡ tương thích mà người dùng nên lưu ý:

  • Tùy chọn copy-on-select được làm lại, nhận các giá trị none, primary, clipboard hoặc both. Trên macOS, mặc định giờ là none — bôi đen văn bản không còn tự động sao chép. Để khôi phục hành vi cũ, đặt copy-on-select = primary.
  • Trên GTK, phím tắt mặc định ctrl+shift+page_up và ctrl+shift+page_down giờ dùng để di chuyển tab, khớp với Firefox, GNOME Terminal và VS Code.
  • scrollback-limit được đổi tên thành scrollback-limit-bytes để nhường chỗ cho tùy chọn mới scrollback-limit-lines.

Nhóm phát triển khuyến nghị người dùng nên cập nhật cấu hình sớm để tránh gián đoạn trong các bản phát hành tương lai.

Yêu cầu hệ thống và lưu ý cho người dùng Việt Nam

Ghostty 1.4.0 vẫn hỗ trợ macOS từ phiên bản 13 (Ventura) trở lên, đồng thời tương thích với macOS 27. Trên Linux, bản GTK giờ yêu cầu GTK 4.18 và libadwaita 1.7, cao hơn mức 4.14/1.5 trước đây.

Điều này có nghĩa Ubuntu 24.04 LTS — một trong những bản phân phối phổ biến nhất với lập trình viên Việt Nam — không đáp ứng yêu cầu. Người dùng có thể dùng phiên bản Ghostty cũ hơn hoặc cài qua gói Flatpak để khắc phục.

Ngoài ra, GTK giờ kết xuất qua EGL thay vì widget OpenGL của GTK, giúp văn bản sắc nét khi dùng tỉ lệ hiển thị lẻ như 125% hay 150% — vấn đề từng ảnh hưởng tới nhiều màn hình laptop độ phân giải cao bán tại Việt Nam.

Với một dự án phi lợi nhuận, Ghostty cho thấy tốc độ phát triển ấn tượng và sự chỉn chu trong cả tài liệu lẫn chất lượng mã nguồn, xứng đáng là lựa chọn đáng cân nhắc cho lập trình viên và người dùng dòng lệnh.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗