Ghostty

From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

Ghostty is a terminal emulator available for Linux and macOS that aims for high performance and a wide feature-set.

Ghostty was first publicly released in December 2024, as version 1.0.0.

Installation

USE flags

USE flags for x11-terms/ghostty Fast, feature-rich, and cross-platform terminal emulator

+X Add support for X11
+adwaita Use gui-libs/libadwaita for better GNOME integration
man Build and install man pages
nls Add Native Language Support (using gettext - GNU locale utilities)
wayland Enable dev-libs/wayland backend
Data provided by the Gentoo Package Database · Last update: 2026年06月23日 01:18 More information about USE flags

Emerge

Tip
To save time building Zig, there is a precompiled binary package available in the Gentoo ebuild repository (using this package may be superfluous for some systems that use binary package host packages by default).


To avoid x11-terms/ghostty pulling in dev-lang/zig as a dependency, emerge dev-lang/zig-bin with the --oneshot option:

root #emerge --ask --oneshot dev-lang/zig-bin

Install x11-terms/ghostty :

root #emerge --ask x11-terms/ghostty

Configuration

Files

  • $XDG_CONFIG_HOME/ghostty/config - main configuration file
  • $HOME/.config/ghostty/config - main configuration file if the XDG_CONFIG_HOME environment variable does not exist
Note
In this article, the Ghostty configuration directory will be listed as $XDG_CONFIG_HOME/ghostty/. If the XDG_CONFIG_HOME environment variable is not defined on a given system, replace this with $HOME/.config/ghostty/, as evidenced above. (In practice, both of these paths will often resolve to ~/.config/ghostty/.)

Choose themes

Ghostty has built-in themes that can be previewed using the +list-themes action:

user $ghostty +list-themes
Tip
In the theme preview interface, press ? to list available keybindings. The c key may be useful to copy the selected theme name to the clipboard.

Set the chosen theme by editing the Ghostty config file:

FILE $XDG_CONFIG_HOME/ghostty/config
theme=tokyonight

Custom themes

Ghostty also supports custom themes. Themes must adhere to Ghostty's format and be placed in the $XDG_CONFIG_HOME/ghostty/themes/ directory.

Here is an example theme converted from Manjaro konsole Breath:

FILE $XDG_CONFIG_HOME/ghostty/themes/Breath
palette=0=#1e2229 
palette=1=#ed1515
palette=2=#448539
palette=3=#f67400
palette=4=#1d99f3
palette=5=#9b59b6
palette=6=#1abc9c
palette=7=#fcfcfc
palette=8=#7f8c8d
palette=9=#c0392b
palette=10=#55a649
palette=11=#fdbc4b
palette=12=#3daee9
palette=13=#8e44ad
palette=14=#16a085
palette=15=#ffffff
background=#1e2229
foreground=#17a88b
cursor-color=#17a88b
selection-background=#17a88b
selection-foreground=#1e2229

Once a custom theme file is added, edit the Ghostty config to use it:

FILE $XDG_CONFIG_HOME/ghostty/config
theme=Breath
Tip
There is a tool to convert konsole themes to the Ghostty format: konsole2ghosttytheme.bash

Usage

Invocation

For a listing of invocation options:

user $ghostty --help
Usage: ghostty [+action] [options]
Run the Ghostty terminal emulator or a specific helper action.
If no `+action` is specified, run the Ghostty terminal emulator.
All configuration keys are available as command line options.
To specify a configuration key, use the `--<key>=<value>` syntax
where key and value are the same format you'd put into a configuration
file. For example, `--font-size=12` or `--font-family="Fira Code"`.
To see a list of all available configuration options, please see
the `src/config/Config.zig` file. A future update will allow seeing
the list of configuration options from the command line.
A special command line argument `-e <command>` can be used to run
the specific command inside the terminal emulator. For example,
`ghostty -e top` will run the `top` command inside the terminal.
On macOS, launching the terminal emulator from the CLI is not
supported and only actions are supported.
Available actions:
 +version
 +help
 +list-fonts
 +list-keybinds
 +list-themes
 +list-colors
 +list-actions
 +show-config
 +validate-config
 +crash-report
 +show-face
Specify `+<action> --help` to see the help for a specific action,
where `<action>` is one of actions listed below.)

Querying current setup

Show config

Pass +show-config to Ghostty to display the current configuration:

user $ghostty +show-config
font-family = Cascadia Code NF
font-family-bold = Cascadia Code NF
font-family-italic = Cascadia Code NF
font-family-bold-italic = Cascadia Code NF
font-size = 11
command = /bin/zsh
click-repeat-interval = 500
auto-update-channel = stable

List keybinds

Pass +list-keybinds to Ghostty to display the current keybinds:

user $ghostty +list-keybinds
super + ctrl + shift + up resize_split:up,10
super + ctrl + shift + equal equalize_splits
super + ctrl + shift + left resize_split:left,10
super + ctrl + shift + down resize_split:down,10
super + ctrl + shift + right resize_split:right,10
ctrl + alt + shift + j write_scrollback_file:open
super + ctrl + right_bracket goto_split:next
super + ctrl + left_bracket goto_split:previous
ctrl + alt + up goto_split:top
ctrl + alt + left goto_split:left
ctrl + alt + down goto_split:bottom
ctrl + alt + right goto_split:right
ctrl + shift + v paste_from_clipboard
ctrl + shift + a select_all
ctrl + shift + o new_split:right
ctrl + shift + c copy_to_clipboard
ctrl + shift + q quit
ctrl + shift + n new_window
ctrl + shift + page_down jump_to_prompt:1
ctrl + shift + comma reload_config
ctrl + shift + left previous_tab
ctrl + shift + w close_surface
ctrl + shift + j write_scrollback_file:paste
ctrl + shift + right next_tab
ctrl + shift + page_up jump_to_prompt:-1
ctrl + shift + t new_tab
ctrl + shift + tab previous_tab
ctrl + shift + e new_split:down
ctrl + shift + enter toggle_split_zoom
ctrl + shift + i inspector:toggle
alt + five goto_tab:5
alt + eight goto_tab:8
alt + three goto_tab:3
alt + nine goto_tab:9
alt + two goto_tab:2
alt + four goto_tab:4
alt + f4 close_window
alt + one goto_tab:1
alt + six goto_tab:6
alt + seven goto_tab:7
ctrl + comma open_config
ctrl + page_down next_tab
ctrl + equal increase_font_size:1
ctrl + minus decrease_font_size:1
ctrl + zero reset_font_size
ctrl + enter toggle_fullscreen
ctrl + page_up previous_tab
ctrl + tab next_tab
ctrl + plus increase_font_size:1
shift + insert paste_from_selection
shift + up adjust_selection:up
shift + left adjust_selection:left
shift + page_up scroll_page_up
shift + end scroll_to_bottom
shift + right adjust_selection:right
shift + page_down scroll_page_down
shift + down adjust_selection:down
shift + home scroll_to_top

Troubleshooting

Title appears abrupt in system's window manager

If GTK's title appears abrupt in system's window manager, turn off the adwaita USE flag firstly:

FILE /etc/portage/package.use
x11-terms/ghostty -adwaita

Then disable the GTK title:

FILE $XDG_CONFIG_HOME/ghostty/config
gtk-titlebar=false

See also

  • Terminal emulator — emulates a video terminal within another display architecture (e.g. in X).

External resources