I recently noticed that Ghostty was finally added to Ubuntu’s 26.04 official repositoryexternal link , which means I no longer have to use the Snap version. I used it for a while, but Snaps are just terribly slow. I had been using terminator as my default terminal for several years, mostly because of its multiplexing capabilities. It’s okay, but not as swift as iTerm2 or urxvt , which I used in the past. That is something that has been bothering me more and more lately. Our computers are becoming faster and faster, but applications are becoming increasingly sluggish. This is the curse of web-based applications, which add significant boilerplate to otherwise fast software. This applies to all Electron-based apps like Slack, VS Code (or Atom earlier), Spotify, Discord, Obsidian, etc. Most of them function as both websites and “desktop” versions, which are essentially web wrappers. There are benefits to this, such as easier portability, but the results are large installations with many dependencies, and loading them all makes them slow. I’ll end my rant here.

On the bright side, not all applications follow this pattern. I recently found a few that do not: Zed (a really responsive editor), prek as an alternative to pre-commit, and many Go apps (which are usually incredibly fast). Since I spend a lot of my daily time working in the shell, I started looking for a better terminal, especially on Linux, as I’m happy with iTerm2 on macOS. I found three worth checking: kittyexternal link , Alacrittyexternal link , and ghosttyexternal link .

The first is incredibly simple - I would even call it spartan. I was surprised to see recently that they plan to add a scroll bar to the UI. Alacritty, for Ubuntu/Debian installation had instruction on how to compile it. I wanted something more feature-complete, and that is where I found Ghosttyexternal link . It’s fast because the UI is GPU-accelerated and it supports multiplexing. I also found some shortcuts similar to those in iTerm2 and Terminator; after a few adjustments, I was able to start using it immediately. It was a great feeling to have everything respond so quickly.

There was one problem with this story: I was on Ubuntu 25.10, where the most convenient way to install Ghostty was via Snap. I simply hate Snaps. Starting one for the first time can take seconds, which is not something I want to deal with hundreds of times a day when I need a terminal. This was a deal-breaker for me. But today, I upgraded to Ubuntu 26.04, where an official package was added. I wanted to switch to it as my default, but it wasn’t that easy.

I tried my usual method, but Ghostty wasn’t listed:

Trying to change current default terminal
$ update-alternatives --config x-terminal-emulator
There are 3 choices for the alternative x-terminal-emulator (providing /usr/bin/x-terminal-emulator).

  Selection    Path                             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/terminator               50        auto mode
  1            /usr/bin/gnome-terminal.wrapper   40        manual mode
  2            /usr/bin/ptyxis                   40        manual mode
  3            /usr/bin/terminator               50        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Then I discovered that since 25.04, there’s a new way of setting the default terminal: via the ~/.config/ubuntu-xdg-terminals.list file.

However, the documentation doesn’t explainexternal link how to set Ghostty there. Let’s see what the desktop file is named:

Finding Ghostty desktop file
$ dpkg-query -L ghostty | grep desktop
/usr/share/applications/com.mitchellh.ghostty.desktop
/usr/share/kio/servicemenus/com.mitchellh.ghostty.desktop

Now, let me set it:

Setting Ghostty as default terminal
echo com.mitchellh.ghostty.desktop > ~/.config/ubuntu-xdg-terminals.list

I hit my keyboard shortcut, and voilà - Ghostty is there, ready to serve and as fast as it should be.


Enjoyed this post? Buy Me a Coffee at ko-fi.com