Мой блог
Вышел эмулятор терминала Ghostty 1.4: ускорение работы, снижение потребления RAM и другие изменения
Разработчики выпустили крупное обновление популярного эмулятора терминала Ghostty 1.4, в котором реализовано множество системных улучшений, оптимизировано потребление памяти и расширена функциональность для различных платформ.
Проект, созданный соучредителем HashiCorp Митчеллом Хасимото, сочетает в себе аппаратное ускорение за счет графического процессора и нативный визуальный интерфейс для поддерживаемых операционных систем. В новой версии приняли участие более 170 контрибьюторов, подготовивших свыше 2800 коммитов.
Что нового в версии 1.4
Главным изменением для пользователей Linux стало то, что нативные сборки программы больше не поддерживаются в Ubuntu 24.04 LTS из-за жестких требований к более свежим системным библиотекам. Новая версия требует наличия GTK 4.18 и libadwaita 1.7, поэтому при загрузке со старыми зависимостями приложение завершает работу. Разработчики рекомендуют использовать предыдущие сборки тем, кто остается на этой версии дистрибутива.
Для графического интерфейса на базе GTK была решена проблема нечеткого отображения текста при дробном масштабировании интерфейса (например, 125% или 150%), возникавшая после недавних изменений в смежных компонентах. Переписанный рендерер с тройной буферизацией призван полностью устранить разрывы кадров.
В версии для Linux появилась функция перетаскивания разделенных окон, которая ранее была доступна на macOS начиная с версии 1.3. Теперь любую разделенную панель можно переместить в другое окно или вкладку вместе с ее рабочим каталогом и запущенными процессами.
В среде Wayland глобальные комбинации клавиш теперь задействуют протокол vicinae-hotkey-v1 на композиторах вроде Hyprland версии 0.56 и выше, а для остальных систем применяются средства портала рабочего стола. Кроме того, размытие фона теперь корректно функционирует в Niri, а новая команда +toggle-quick-terminal полезна для оконных менеджеров, не способных регистрировать глобальные горячие клавиши.
Был пересмотрен ряд клавиатурных сокращений в GTK-приложении. Комбинации Ctrl+Shift+PageUp и Ctrl+Shift+PageDown теперь позволяют перемещать текущую вкладку вбок, а для быстрого перехода между предыдущим и следующим приглашением командной строки задействуются сочетания Ctrl+Shift+Arrow-Up и Ctrl+Shift+Arrow-Down взамен единственного действия jump_to_prompt.
Поведение буфера обмена для функции copy-on-select претерпело изменения, и пользователям, привыкшим к прежней логике, советуют переключиться на режим both. Оффскрин-буфер прокрутки теперь сжимается во время простоя терминала, что позволяет сократить потребление оперативной памяти на 70–90%. Благодаря такой оптимизации стандартный лимит прокрутки по умолчанию был увеличен с 10 МБ до 50 МБ.
Дополнительные улучшения и исправления
Эмулятор терминала обзавелся полной поддержкой графического протокола Kitty. По заявлениям создателей проекта, ни одно другое стороннее приложение до сих пор не реализовывало его полностью. Также появилась команда ghostty +ssh, заменяющая стандартную утилиту ssh и автоматически устанавливающая terminfo Ghostty на удаленном хосте перед установкой соединения.
В рамках обновления было устранено десять уязвимостей безопасности, четыре из которых затрагивали исключительно macOS. Остальные исправления касаются уязвимостей в защите при вставке текста и проблемы со специально сформированными именами директорий, которые могли заставить интеграцию zsh отправлять управляющие последовательности, способные скрыто подменять содержимое буфера обмена.
Для пользователей компьютеров Apple добавлена поддержка macOS 27, а для владельцев старых устройств сохранена совместимость с macOS 13, которая останется актуальной до ее официального прекращения в будущих релизах. В то же время для операционной системы Windows разработчики приняли решение исключить графический интерфейс из своих планов, рекомендуя сторонним проектам использовать уже готовые для Windows библиотеки libghostty и libghostty-vt.
Как получить Ghostty 1.4
Официальные бинарные файлы самого проекта выпускаются только для платформы macOS. В мире Linux распространением занимаются мейнтейнеры конкретных дистрибутивов: обновление уже доступно в репозиториях Arch Linux, NixOS, Alpine Linux, Gentoo, openSUSE и Ubuntu 26.04.
Помимо официальных пакетов, энтузиасты поддерживают неофициальные сборки в форматах DEB, AppImage и Snap. Тем не менее разработчики рекомендуют выполнять сборку приложения самостоятельно из исходного архива с помощью утилиты zig build, следуя инструкциям из официального руководства.
