
نسخه جدید Ghostty، شبیهساز ترمینال متنباز (Open-source Terminal Emulator)، منتشر شد. Ghostty 1.4.0 پس از هفت ماه توسعه، مجموعهای متنوع از تغییرات را ارائه میکند؛ از بهینهسازیهای عملکردی در لینوکس و macOS گرفته تا پیادهسازی توانمندتر SSH و روشی آسانتر برای جابهجایی تقسیمهای تب (Tab Splits) با کشیدن و رها کردن (Drag and Drop).
پشتیبانی کامل از پروتکل گرافیک Kitty و بهبود عملکرد
این بهروزرسانی برای اپلیکیشن مبتنی بر Zig، پشتیبانی کامل از پروتکل گرافیک Kitty (Kitty Graphics Protocol) را فراهم میکند؛ شامل انیمیشن (Animation) و چیدمان نسبی (Relative Placements). بر اساس گزارش منبع، Ghostty نخستین ترمینال غیر از Kitty است که چنین قابلیتی را ارائه میدهد. اگر از ابزارهای TUI یا اسکریپتها برای رندر تصویر در ترمینال استفاده میکنید، این یک دستاورد مهم محسوب میشود.
توسعهدهندگان میگویند عملکرد در این نسخه بهطور چشمگیری بهبود یافته است. Ghostty 1.4.0 اکنون هنگامی که ترمینال بیکار است، اسکرولبک خارج از صفحه (Off-screen Scrollback) را فشرده میکند. این کار مقدار حافظه فیزیکی (Physical RAM) مصرفی برای تاریخچههای متنی سنگین را تا ۹۰ درصد کاهش میدهد. در صورت اسکرول به عقب یا استفاده از قابلیت جستجوی متن (Text Search) که در بهروزرسانی Ghostty 1.3.0 اضافه شده بود، محتوا از حالت فشرده خارج میشود.
تغییرات مهم در لینوکس و رندر شارپتر
در لینوکس، اپلیکیشن GTK مربوط به Ghostty متن را در مقیاسهای نمایش کسری (Fractional Display Scales) مانند ۱۲۵٪ و ۱۵۰٪ شارپ رندر میکند؛ موضوعی که باید مشکلات پرتکرار مربوط به تاری متن را برطرف کند.
این بهروزرسانی همچنین GtkGLArea را با خط لوله رندر EGL (EGL Rendering Pipeline) جایگزین میکند که روی رشتهای جداگانه اجرا میشود و فریمها را با DMA-BUF به GTK میرساند. این کار به کتابخانه EGL سیستم نیاز دارد؛ اگر پردازنده گرافیکی (GPU) نتواند DMA-BUF صادر کند، از کپی کندتر مبتنی بر پردازنده (CPU-based Copying) استفاده میشود.
در ساخت GTK، تقسیمهای ترمینال را میتوان با کشیدن جابهجا کرد. وقتی یک تب دو یا چند تقسیم دارد، هر تقسیم یک دستگیره کشیدن دارد که میتوان آن را گرفت و روی تقسیم دیگری رها کرد.
سایر تغییرات و بهبودهای لینوکس
- پوسته SSH مستقل (Standalone SSH Wrapper)
- دقت بهتر شبیهسازی ترمینال (Terminal Emulation Accuracy)
- پیادهسازی پروتکل کلیپبورد Kitty (Kitty Clipboard Protocol)
- بهبودهای عملکردی متفرقه در همه پلتفرمها
- اعلانهای دسکتاپ (Desktop Notifications) در صورت فعال یا بسته بودن ترمینال بسته میشوند
- بهروزرسانی فونت ایموجی Noto تا توالیهای جدیدتر ZWJ به صورت یک گلیف رندر شوند
- گزینه Open Ghostty Here در دلفین (Dolphin) پنجره جدید را در نمونه در حال اجرا باز میکند
- تغییر اندازه تقسیمها دیگر سوسو نمیزند و نمیتوان آن را بیش از حد کوچک کرد
- نشانگر ماوس هنگام انتخاب متن شکل متنی خود را حفظ میکند
- پالت فرمان (Command Palette) در صورت window-theme = ghostty از رنگهای ترمینال استفاده میکند
- نشانیهای URL اکنون از طریق درگاه دسکتاپ XDG (XDG Desktop Portal) باز میشوند
گزینههای پیکربندی در ساختهای GTK شامل gtk-horizontal-tab-scroll است که با تنظیم آن روی false میتوان اسکرول دوانگشتی برای تغییر تبها را غیرفعال کرد. گزینه gtk-tabs-inverted نیز دکمه بستن را به ابتدای هر تب منتقل میکند.
نصب Ghostty 1.4.0 و پایان پشتیبانی از اوبونتو ۲۴.۰۴ LTS
Ubuntu 26.10 شامل Ghostty در مخازن (Repos) است و با apt install ghostty نصب میشود؛ اما این روش جدیدترین نسخه را در اختیار شما قرار نمیدهد. برای تغییرات یادشده باید از روش جایگزین استفاده کنید. گزینههای متعددی وجود دارد: بسته DEB غیررسمی و جامعهمحور Ghostty همراه با PPA مخصوص برای بهروزرسانی آسان، AppImage و Snap غیررسمی. در macOS نیز باینریهای رسمی (توصیهشده؛ با پشتیبانی از بهروزرسانی درونبرنامهای) و همچنین Homebrew و سایر مدیران بسته CLI در دسترس هستند.
Ghostty 1.4.0 به GTK 4.18 و libadwaita 1.7 نیاز دارد؛ طبق سیاست نسخه GTK/Adwaita این ترمینال، Ubuntu 24.04 LTS دیگر الزامات را برآورده نمیکند. این یعنی نسخه DEB از Ghostty (مثلاً از PPA یادشده) دیگر قابل نصب نیست.
در نکتهای جانبی، کتابخانه شبیهسازی ترمینال libghostty در نسخههای آینده IDEهای JetBrains ترمینالها را نیرو میدهد. اپلیکیشن ترمینال جدید Linux Mint به نام Velocitty از آن استفاده نمیکند، اما گفته میشود طراحی آن از Ghostty الهام گرفته است.