I Tried the Ghostty Terminal on Linux. Does It Live Up to Its Hype?


The Ghostty terminal has created some noise in the Linux community. As a Linux user who loves exploring new tools, I just had to give it a shot. It had some cool features I wanted to explore. But is it worth replacing your terminal? Let’s find out.

What is Ghostty?

Ghostty is a modern terminal emulator created as a passion project by Mitchell Hashimoto. It’s designed to be fast, feature-rich, and fully native to both Linux and macOS. It seeks to provide a seamless and highly integrated experience for power users.

Ghostty stands out with its native UI approach, using platform-specific technologies. Swift, AppKit, and SwiftUI on macOS, and Zig with GTK4 on Linux. It supports essential terminal features like the Kitty graphics protocol, hyperlinking, and light/dark mode notifications. Moreover, it offers application-level functionalities such as native tabs, split views, and a drop-down terminal on macOS. Performance is also a major focus, with optimizations for fast startup, smooth scrolling, and high input/output throughput.

Installing Ghostty on Linux

You can install Ghostty on Linux in several ways. For starters, you can use your distro’s package manager.

I was going to try it on Ubuntu. Unfortunately, there was no official package for Ubuntu and only a user-managed one was available. So I went with an AppImage since it was much easier to install and universal.

First, download the AppImage file of Ghostty from GitHub. You can go to the Ghostty AppImage repository and find the latest version at the top, or you can enter a command like this, adjusting for the version you want:

wget https://github.com/psadi/ghostty-appimage/releases/download/v1.0.1%2B4/Ghostty-1.0.1-x86_64.AppImage

Go to the directory where you downloaded the file and provide it with the correct file permission. Your file name may look different than the one below, so be sure to adjust for your downloaded file.

chmod +x Ghostty-x86_64.AppImage

Now, run the AppImage file.

./Ghostty-x86_64.AppImage

This should successfully launch the Ghostty terminal.

If you have Snap enabled, you can also install Ghostty as a Snap. Using package managers or Snap will let you have a bit more freedom in using Ghostty than the AppImage. To install it using Snap, run:

sudo snap install ghostty --classic

Then simply run the ghostty command to launch it or open it from the app drawer.

An instance of running the Ghostty terminal on Linux.

What I Liked About Ghostty

Ghostty does bring some new things and useful features worth trying out, including the tabs and configuration options.

Smooth Tabbing and Splitting

Screen splitting feature being demonstrated on Ghostty.

When you’re multitasking on the terminal, you know how convenient it is to use multiple tabs and screen splits. Ghostty makes this even more convenient. You can create multiple tabs by pressing the plus icon in the top left corner of the terminal window. Something I found new in Ghostty is the ability to view all opened tabs at once. Say you have like 5 or 6 tabs opened and are not sure which one you need to switch to. Getting an overview of all tabs makes it easier to find the tab you’re looking for.

Viewing all tabs opened in Ghostty.

For splits, you can create screen splits in any of the four directions. You can find the splitting options in the hamburger menu in the top right corner. However, the real convenience of splitting in Ghostty is by using keyboard shortcuts. You can use the default key bindings or define your own. I liked how quickly I could split the screen in different directions with some key presses.

Configuration Options

Ghostty comes with a lot of customization options. As a Linux enthusiast, the freedom to configure as I like is always appreciated. You can set different themes, fonts, colors, padding, keyboard shortcuts, and many more. That said, Ghostty promises to be a zero-configuration tool. That means you don’t necessarily need to configure it to use it. The default settings and configurations it comes with are already good to work with.

Configuring it is also easy. All you need to do is create a configuration file and declare the values you want to use. I’ll cover this in more detail later on.

Terminal Inspector

Terminal Inspector window displayed on Ghostty terminal.

Another interesting feature I saw in Ghostty is the terminal inspector window that shows you some system information. Think of it just like the web inspector (also known as developer tools) in a browser. You can see different settings, like terminal mode, font and grid sizes, cell metadata, colors, among other things.

Great Documentation

For a terminal emulator, you usually wouldn’t expect the documentation to be so expansive. The Ghostty documentation has gone beyond and covered almost everything you need to know to get the best experience out of it. Moreover, unlike many other documentation, it’s really polished and organized. You can easily find the information you’re looking for, especially the different configuration options.

Configuring Ghostty

It wouldn’t be complete if I didn’t show you some of the configuration capabilities of Ghostty. When you first install the app, a configuration file is generated under the “~/.config/ghostty” directory. You can also create one if you don’t find it in that directory. Press the hamburger menu icon and press “Open Configuration.”

Opening the configuration file of Ghostty using the GUI.

Configuring Ghostty is pretty straightforward. The configuration file uses a key-value pair system to evaluate your current configuration. There are many settings to explore here. For example, colors, key-bindings, font, themes, etc. Here’s an example configuration settings you can use and play with:

        background = 000052

foreground = 89bbf6

keybind = ctrl+z=close_surface

keybind = ctrl+shift+L=new_split:right

font-family = Courier 10 Pitch Regular

Once you’re done editing the configuration file, go to the hamburger menu and press “Reload Configuration” or hit Shift+Ctrl+, (comma) to apply the changes.

Next, let’s check out themes. You can choose from a bunch of default themes or build a custom one. To check out all the available themes, run:

ghostty +list-themes
A list of available themes on Ghostty terminal.

Once you choose a theme, remember its name because you can select it from this menu. Go back to the configuration file and set the theme there.

theme = "Mirage"

You can also specify different themes for light mode and dark mode. Ghostty will pick the theme based on your system appearance. Likewise, you can check the available font families and key bindings.

        ghostty +list-fonts
ghostty +list-keybinds

This is just scratching the surface. You can check the documentation for the extensive configuration options.

It Does Need Some Improvements

Ghostty is still very new in the scene and that shows. I faced some issues while using it. Sometimes, it took a while to open it. I tested the theory by opening the default Ubuntu terminal. The stock terminal opened much faster than Ghostty in most cases. Now, I’m not entirely sure if this is because I used the Snap package.

Speaking of the Snap package, Ghostty doesn’t have official packages for Debian, Fedora, and Ubuntu. Given how popular these distros are, I expected official packages instead of community-maintained ones. That might be coming in the future, though.

This might come as subjective but some of the default keybindings looked a bit weird to me. Sure, you can configure them. However, I’d expect a bit more thought given to them since most terminal users would use them.


The Ghostty terminal emulator offers some cool features and a few novel ones too. However, I still haven’t found a solid reason for the hype yet. I, for one, am not switching to it unless, in a future update, I find a more convincing feature that I live by. If you’re interested in alternative terminal apps, I’ve previously reviewed Warp terminal which you might find more appealing.



Source link

Previous articleBitcoin Mining Revenue Holds Steady at December Levels Minus $40 Million – Bitcoin.com News