Весной я переехал со стандартного GNOME Terminal на WezTerm. И всё меня устраивало, пока я не начал использовать агент Pi. Не знаю по каким причинам, но на ноутбуке после работы с Pi в WezTerm (особенно после длительных сессий) выход из терминала подвисает на 5-20 секунд. Нужно что-то с этим делать.
Последний релиз WezTerm был более 2х лет назад и не смотря на то, что автор вроде как недавно вернулся к работе над проектом после длительного отсутствия и коллеги говорят, что ночные сборки стабильно работают, я решил всё-таки попробовать Ghostty.
👻 Ghostty — эмулятор терминала с GPU-ускорением, написан на Zig. Продукт относительно свежий (первая версия выпущена в конце 2024 года), разработка ведётся довольно активно.
К сожалению, нет официальной сборки deb-пакетов (есть только для Ubuntu 26.04 и выше) или AppImage, но Ghostty рекомендует проект ghostty-ubuntu от одного из участников сообщества, который собирает .deb-пакеты Ghostty для Ubuntu и Debian и публикует их в PPA. Этим репозиторием я и воспользовался.
Из того, что сразу бросилось в глаза.
⭐️ Скорость запуска
Ghostty запускается быстрее, чем WezTerm. Возможно, это связано с тем, что WezTerm у меня был в формате AppImage, а Ghostty установлен как deb-пакет.
⭐️ Поддержка уведомлений
Когда Claude Code ждёт от меня действий всплывает системное уведомление. То, что поддержка уведомлений есть, конечно хорошо, но в агенте я их отключил, мне так удобнее.
⭐️ Полоса прокрутки
В WezTerm не было полосы прокрутки, и, хотя требовалась она крайне редко, когда прокрутка всё-таки была нужна было не приятно. В Ghostty есть нативная полоса прокрутки.
⭐️ Перетаскивание вкладок мышкой
Wezterm так не умел и я смирился. Ghostty умеет и я периодически пользуюсь этой возможностью 🙂
⭐️ Проблема с горячими клавишами
На русской раскладке не работают горячие клавиши. Суда по баг-трекеру проблема плавающая и то появлялась, то исчезала с релизами.
Об ошибке есть дискуссия на GitHub (проголосуйте за неё, кому не лень ✔️ ). Интересно, что в репозитории тикеты заводят только мейнтейнеры, а пользователям предлагается писать в дискуссии.
Проблема решается добавлением в конфигурацию горячих клавиш (в дискуссии есть уже готовый список).
⭐️ Проблема с iowait
Заметил, что график iowait (время, которое процессор простаивает из-за ожидания завершения операций ввода-вывода) вдруг стал показывать большие значения, причем чем больше сессий внутри Ghostty, тем выше значение.
Оказалось, что это не проблемы оборудования или терминала, а какие-то ошибки в ядре Linux в части расчёта показателя iowait. Глубже я не стал копать, решилось добавлением опции
async-backend = epoll в файл конфигурации Ghostty.После нескольких дней использования могу сказать, что в моём случае Ghostty умеет всё, что умел WezTerm, даёт больше возможностей и в нём нет проблемы с зависанием при выходе после использования Pi. WezTerm удалил 🙂
