Currently, no package exists for Linux Mint, my daily driver on the workstation.
- Why ghostty
- Debian/Ubuntu prerequisites
- Unable to locate package libgtk4-layer-shell-dev
- Build the package from source
- Installing build dependencies
- cloning the repository
- building and installing
- Install zig
- Build the ghostty binary
- Recognition and launchability in Cinnamon
- Update
- What about the two features that made me install it ?
Why ghostty
I've heard from a contact that it's worth a try.
The default Gnome-Terminal provided by default with Cinnamon is not to my taste. For now, I am unfortunately used to two features I'm really missing:
- being able to automatically have the highlighted text content in the clipboard
- being able to paste into the terminal with just a right click
A short research for lightweight terminals that could provide me with an easy way to get these features led me to urxvt and ghostty.
I might be willing to keep urxvt for my lightweight station. Let's try to get ghostty on the workstation.
There is not Mint package currently.
There is an unofficial package : https://debian.griffo.io/install-latest-ghostty-in-debian.html but at the time I first attempted it, I wanted to try to build it from source. Because why not.
Debian/Ubuntu prerequisites
Unable to locate package libgtk4-layer-shell-dev
The first step is obviously to install the prerequisites.
Source : https://ghostty.org/docs/install/build#debian-and-ubuntu
sudo apt install \
libgtk-4-dev \
libgtk4-layer-shell-dev \
libadwaita-1-dev \
gettext \
libxml2-utils
This produces an error given that in the Ubuntu LTS used to create the Mint release I'm running, one package is missing :
Unable to locate package libgtk4-layer-shell-dev
Build the package from source
Installing build dependencies
sudo apt install git meson ninja-build build-essential libgtk-4-dev
cloning the repository
git clone https://github.com/wmww/gtk4-layer-shell.git
cd gtk4-layer-shell
building and installing
prerequisites for the "mason setup build" step :
sudo apt update
sudo apt install \
gobject-introspection \
libgirepository1.0-dev \
pkg-config \
cmake \
valac
This must have installed pkg-config, cmake, and vapigen, that are required for the steps below:
meson setup build
ninja -C build
sudo ninja -C build install
We have NOW reached the step where we have the prerequisites fulfilled for Mint. Yeay !
Install zig
This is pretty well documented : https://zig.guide/getting-started/installation/
The drawback for me was more on ghostty side. The ghostty build from source page describes which versions require which zig corresponding version but I've been lost in the repository and somehow just ended attempting the installation of ghostty 1.1.0 because it needs zig 0.13.0. Upper version did not match the zig version I was able to get.
Installing zig just consisted - in my case - on downloading a tar.xz from the official website, extracting it to ~/.local/bin directory (that I had to create) and adding it to the PATH.
Build the ghostty binary
Avalaible packages can be found here : https://github.com/ghostty-org/ghostty/tags
Get the package :
ghostty_version=1.1.0
curl -OL https://release.files.ghostty.org/${ghostty_version}/ghostty-${ghostty_version}.tar.gz
curl -OL https://release.files.ghostty.org/${ghostty_version}/ghostty-${ghostty_version}.tar.gz.minisig
tar -xf ghostty-VERSION.tar.gz
cd ghostty-VERSION/
zig build -Doptimize=ReleaseFast
Without the -Doptimize=ReleaseFast flag, the version compiled is a debug one. We do not want this.
We now have the binary in zig-out/bin/ghostty
But it cannot be launchded yet from a Desktop shortcut or a taskbar icon yet.
Recognition and launchability in Cinnamon
still struggling to achieve this
Update
Installing newer version is useful.
What about the two features that made me install it ?
Adding the following :
line 1
line 2
to this configuration file: