Вышел терминал Ghostty 1.1.3

Ghostty – это кроссплатформенный эмулятор терминала с открытым исходным кодом, созданный для того, чтобы удовлетворить «зуд» его создателей в отношении быстрого и многофункционального инструмента с GPU-ускорением. Он дебютировал в конце прошлого года и с тех пор завоевал большую популярность.

Ядро бэкенда построено на Zig, но он использует другой подход к кроссплатформенной разработке: родной и интегрированный с каждой платформой, на которой он работает.

На macOS Ghostty использует Swift. В Linux он использует GTK4 с поддержкой Wayland и X11.

Оба фронтенда используют один и тот же основной бэкенд терминального движка, написанный на языке Zig, который экспортирует API, совместимый с C ABI.

Однако у устаревшей реализации GTK были проблемы с памятью.

По словам Хасимото, в GTK-приложении Ghostty постоянно возникал целый класс ошибок, которые можно было свести к следующему: освобождалась память Zig или память GTK, но не обе памяти.

Ghostty теперь работает с GTK, а не против него

Ghostty GTK revamp полностью использует объектную систему подсчета ссылок GTK для управления памятью, а не, как раньше, предпочитает обходиться без нее и управлять всем вручную.

Как бы вы ни относились к ООП и управлению памятью, реальность такова, что если вы выберете GTK, то будете вынуждены каким-то образом взаимодействовать с системой типов GObject.

Принятие GObject позволит Ghostty использовать больше родных для GTK возможностей, таких как сигналы (события), свойства (к которым можно привязать элементы GUI), действия (вызов одностороннего поведения издалека).

Это улучшает работу конечного пользователя, добавляя дополнительные звоночки – например, «дзинь» – команда выполнена! – которые раньше было сложно добавить, а использование современных технологий GTK упрощает дальнейшее сопровождение.

Valgrind, инструмент отладки, использовался на протяжении всего процесса переписывания для поиска и устранения проблем с памятью до того, как они могли стать проблемами. Хасимото с уверенностью заявляет, что новая версия полностью очищена от утечек памяти и неопределенного доступа.

Более подробную информацию о технических аспектах можно почерпнуть из сообщения в блоге Хашимото.

Получение Ghostty GTK Rewrite

Первые сборки Ghostty для Linux с переработанным GTK будут выпущены в Ghostty 1, релиз которого состоится через несколько недель. Она уже установлена по умолчанию, если вы решили собирать из исходников.

Если вы уже используете Ghostty на Ubuntu (или других дистрибутивах Linux) и сталкивались со сбоями или другим странным поведением при работе с ним, вы увидите улучшения в стабильности новой версии.

Если же вы еще не пробовали Ghostty, но хотите это сделать, возможно, стоит немного повременить. Грядущий релиз обеспечит вам наилучшее первое впечатление – а не испуг, если он упадет посреди важной команды!

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Похожие статьи

Комментарии (0)