Настройка Ghostty: полный гайд от установки до конфига
Пошаговая настройка Ghostty: установка, шрифты, темы, сплиты, quick terminal, SSH и готовый конфиг для копирования.
TL;DR: Настроим Ghostty с нуля — от установки до рабочего конфига с темами, шрифтами, сплитами, quick terminal и SSH. В конце — мой готовый конфиг, который можно скопировать и сразу использовать.
Ghostty из коробки работает нормально. Но когда я начал ковырять конфиг, понял, что там куча полезного, о чём не догадаешься без документации. Собрал всё в одном месте — чтобы тебе не пришлось.
Что понадобится
- macOS 13+ или Linux (Wayland/X11)
- Homebrew (на macOS) — если ещё не стоит, вот гайд по установке
- 5-10 минут
Шаг 1. Установка
На macOS через Homebrew:
brew install --cask ghostty
На Arch Linux:
pacman -S ghostty
На Fedora через COPR:
dnf copr enable scottames/ghostty
dnf install ghostty
На других дистрибутивах — проверь официальную страницу загрузки. Для Ubuntu есть .deb-пакеты через сторонний установщик.
Если хочешь bleeding edge — есть ghostty@tip:
brew install --cask ghostty@tip
Это версия, которая следует за HEAD ветки. Обновляется чаще, но может быть менее стабильной.
Шаг 2. Создаём конфиг
Открой Ghostty и создай файл конфигурации:
mkdir -p ~/.config/ghostty
touch ~/.config/ghostty/config
На macOS Ghostty также смотрит в ~/Library/Application Support/com.mitchellh.ghostty/config, но ~/.config/ghostty/config работает на обеих платформах — советую использовать его.
Формат конфига максимально простой — ключ = значение, по одному параметру на строку:
# Это комментарий
font-size = 14
background-opacity = 0.95
Перезагрузить конфиг без перезапуска: Cmd+Shift+, на macOS или Ctrl+Shift+, на Linux.
Если хочешь увидеть все доступные параметры с документацией:
ghostty +show-config --default --docs
Выведет полный конфиг с комментариями — полезно для знакомства.
Шаг 3. Шрифт
Ghostty идёт со встроенным JetBrains Mono — если тебя устраивает, можно ничего не менять. Но если хочешь другой:
font-family = "Fira Code"
font-size = 13
Для Nerd Fonts (иконки в терминале для oh-my-zsh, starship, powerlevel10k):
font-family = "JetBrainsMono Nerd Font"
font-size = 13
Можно задать несколько фолбеков — если глиф не найден в первом шрифте, Ghostty возьмёт из второго:
font-family = "Fira Code"
font-family = "Noto Color Emoji"
Лигатуры включены по умолчанию. Если хочешь отключить:
font-feature = -calt
font-feature = -liga
На macOS шрифт может выглядеть слишком тонким на обычных (не Retina) экранах. Исправляется одним параметром:
font-thicken = true
Шаг 4. Тема и цвета
Ghostty поставляется с сотнями встроенных тем. Посмотреть список:
ghostty +list-themes
Поставить тему:
theme = Catppuccin Mocha
А вот штука, ради которой одной стоит попробовать Ghostty — автопереключение темы:
theme = dark:Catppuccin Mocha,light:Catppuccin Latte
Переключил macOS на светлый режим — терминал посветлел. Обратно на тёмный — потемнел. Без перезапуска.
Прозрачность
background-opacity = 0.95
background-blur = 20
background-blur размывает то, что за окном — выглядит красиво, но на macOS требует перезапуска Ghostty после изменения background-opacity.
Своя тема
Если хочешь создать свою цветовую схему, создай файл в ~/.config/ghostty/themes/:
touch ~/.config/ghostty/themes/my-dark
Внутри — обычный конфиг, только с цветами:
background = #1a1b26
foreground = #c0caf5
cursor-color = #f2d5cf
selection-background = #626880
selection-foreground = #c6d0f5
palette = 0=#1a1b26
palette = 1=#f7768e
palette = 2=#9ece6a
palette = 3=#e0af68
palette = 4=#7aa2f7
palette = 5=#bb9af7
palette = 6=#7dcfff
palette = 7=#a9b1d6
palette = 8=#414868
palette = 9=#f7768e
palette = 10=#9ece6a
palette = 11=#e0af68
palette = 12=#7aa2f7
palette = 13=#bb9af7
palette = 14=#7dcfff
palette = 15=#c0caf5
Потом в основном конфиге: theme = my-dark.
Шаг 5. Окно и titlebar
На macOS мне нравится прозрачный titlebar — терминал выглядит чище:
macos-titlebar-style = transparent
window-padding-x = 8
window-padding-y = 4
window-padding-color = extend
window-padding-color = extend растягивает цвет фона до краёв окна — без белых полос по бокам.
Для полноэкранного режима без рамки (если пользуешься):
macos-non-native-fullscreen = false
Размер окна при запуске (в ячейках):
window-width = 220
window-height = 50
Ghostty запомнит позицию окна между сессиями, если включить:
window-save-state = always
Шаг 6. Сплиты
Сплиты — одна из причин, почему некоторые отказываются от tmux в пользу Ghostty. Настраиваются через keybind:
# Создание сплитов
keybind = ctrl+super+right=new_split:right
keybind = ctrl+super+down=new_split:down
keybind = ctrl+super+left=new_split:left
keybind = ctrl+super+up=new_split:up
# Навигация между сплитами
keybind = alt+super+right=goto_split:right
keybind = alt+super+down=goto_split:bottom
keybind = alt+super+left=goto_split:left
keybind = alt+super+up=goto_split:topНеактивные панели можно затемнять — помогает видеть, где сейчас фокус:
unfocused-split-opacity = 0.5Цвет разделителя:
split-divider-color = #3a3b40
Каждый сплит — независимая сессия. Новые сплиты наследуют текущую директорию, если shell integration работает.
Шаг 7. Quick Terminal
Выпадающий терминал в стиле Quake 3 — появляется по хоткею из любого приложения. Я пользуюсь этим постоянно для быстрых команд.
keybind = global:ctrl+grave_accent=toggle_quick_terminal
quick-terminal-position = right
quick-terminal-size = 800px
quick-terminal-animation-duration = 0.2
quick-terminal-autohide = trueglobal: означает, что хоткей работает из любого приложения, даже когда Ghostty не в фокусе. На macOS для этого нужно разрешение: System Settings → Privacy & Security → Accessibility → добавить Ghostty.
quick-terminal-autohide = true — терминал прячется, когда переключаешь фокус на другое окно. Удобно: нажал хоткей, ввёл команду, кликнул на другое окно — терминал исчез.
На Linux Quick Terminal работает только на Wayland. Если сидишь на X11 — к сожалению, не вариант.
Шаг 8. Shell Integration и SSH
Shell integration подхватывается автоматически для zsh, bash (из Homebrew), fish и elvish. Проверить, что она работает:
echo $GHOSTTY_RESOURCES_DIR
Если путь выводится — всё ок. Что даёт shell integration:
- Новые вкладки открываются в текущей директории
- Навигация между промптами:
Cmd+Up/Cmd+Down - Тройной клик выделяет вывод команды целиком
- Курсор меняет форму (полоска при вводе, блок в нормальном режиме)
SSH и terminfo
При SSH на удалённый сервер часто вылетает ошибка:
missing or unsuitable terminal: xterm-ghostty
Потому что на сервере нет terminfo для Ghostty. Решается одной строкой в конфиге:
shell-integration-features = cursor,sudo,title,ssh-env,ssh-terminfo
ssh-terminfo автоматически скопирует terminfo при первом подключении к серверу. ssh-env — фолбек: если terminfo не удалось установить, переключит TERM на xterm-256color.
Я рекомендую включать оба. Кэш серверов, куда уже установлен terminfo, можно посмотреть через:
ghostty +ssh-cache
Шаг 9. Keybindings
Помимо сплитов и quick terminal, есть куча полезных хоткеев. Формат:
keybind = модификатор+клавиша=действие
Можно делать последовательности клавиш (leader key):
keybind = ctrl+a>n=new_window
keybind = ctrl+a>t=new_tab
Нажимаешь Ctrl+A, отпускаешь, нажимаешь N — открывается новое окно. Знакомо тем, кто пользуется tmux.
Посмотреть все доступные действия:
ghostty +list-actions
А все текущие привязки:
ghostty +list-keybinds
Шаг 10. Финальные штрихи
Несколько параметров, которые я всегда включаю:
# Спрашивать перед закрытием окна с активным процессом
confirm-close-surface = true
# Прятать курсор мыши при наборе текста
mouse-hide-while-typing = true
# Защита от случайной вставки опасных команд
clipboard-paste-protection = true
# Обрезать пробелы в конце при копировании
clipboard-trim-trailing-spaces = true
# Option = Alt (для тех, кто использует Alt-комбинации в vim/tmux)
macos-option-as-alt = true
# Курсор
cursor-style = bar
cursor-style-blink = false
Результат
Перезагрузи конфиг (Cmd+Shift+,) и проверь, что всё работает. Должна быть тема, прозрачность, сплиты по хоткеям и quick terminal из любого приложения.
Мой полный конфиг, который можно скопировать:
# ~/.config/ghostty/config
# Тема
theme = dark:Catppuccin Mocha,light:Catppuccin Latte
# Шрифт
font-family = "JetBrainsMono Nerd Font"
font-size = 13
font-thicken = true
# Прозрачность
background-opacity = 0.95
background-blur = 20
# Окно
macos-titlebar-style = transparent
macos-option-as-alt = true
window-padding-x = 8
window-padding-y = 4
window-padding-color = extend
window-save-state = always
# Курсор
cursor-style = bar
cursor-style-blink = false
# Сплиты
unfocused-split-opacity = 0.5
keybind = ctrl+super+right=new_split:right
keybind = ctrl+super+down=new_split:down
keybind = ctrl+super+left=new_split:left
keybind = ctrl+super+up=new_split:up
keybind = alt+super+right=goto_split:right
keybind = alt+super+down=goto_split:bottom
keybind = alt+super+left=goto_split:left
keybind = alt+super+up=goto_split:top
# Quick Terminal
keybind = global:ctrl+grave_accent=toggle_quick_terminal
quick-terminal-position = right
quick-terminal-size = 800px
quick-terminal-animation-duration = 0.2
quick-terminal-autohide = true
# Shell integration
shell-integration = detect
shell-integration-feaЧастые ошибки
Шрифт не применяется. Проверь точное название шрифта. Ghostty чувствителен к именам. Если поставил Nerd Font через Homebrew — имя будет "JetBrainsMono Nerd Font", а не "JetBrains Mono Nerd Font" (без пробела перед Mono).
Quick Terminal не работает на macOS. Нужно дать разрешение в System Settings → Privacy & Security → Accessibility. Без него глобальные хоткеи не работают.
SSH ломается — missing terminal: xterm-ghostty. Добавь в конфиг shell-integration-features = ssh-env,ssh-terminfo. Или как быстрый фикс: TERM=xterm-256color ssh user@host.
FAQ
Как полностью сбросить конфиг Ghostty?
Удали или переименуй файл ~/.config/ghostty/config и перезапусти. Ghostty вернётся к дефолтным настройкам — встроенный JetBrains Mono, системная тема.
Где посмотреть все доступные темы Ghostty?
ghostty +list-themes в терминале. Сейчас там сотни тем — Catppuccin, Dracula, Nord, Gruvbox, Tokyo Night и другие. Обновляются еженедельно.
Можно ли использовать Ghostty вместо tmux?
Для простых задач — да. Сплиты и вкладки покрывают базовые сценарии. Но tmux незаменим для SSH-сессий (сессия живёт на сервере) и более сложных раскладок. Можно использовать оба.
Как перенести конфиг Ghostty между Mac и Linux?
Конфиг в ~/.config/ghostty/config работает на обеих платформах. macOS-специфичные параметры (macos-*) на Linux просто игнорируются. Можно держать один конфиг в dotfiles.
Ghostty тормозит с прозрачностью на macOS?
Попробуй убрать background-blur — именно blur создаёт нагрузку. background-opacity без blur работает быстро. Также убедись, что стоит последняя версия — в 1.2.0 оптимизировали рендеринг.
Что ещё почитать
- Ghostty — обзор терминала от создателя Terraform — если ещё не читал, начни с обзора
- iTerm2 + Zsh + Oh My Zsh — красивый терминал на Mac за 10 минут — альтернативный вариант с iTerm2
- Homebrew — пакетный менеджер для macOS в 2026 — нужен для установки Ghostty