Ghostty in review: how's the new terminal emulator? (thelibre.news)
from Pro@reddthat.com to linux@lemmy.ml on 11 Jun 16:53
https://reddthat.com/post/43330950

A few months ago, a new terminal emulator was released. It’s called ghostty, and it has been a highly anticipated terminal emulator for a while, especially due to the coverage that it received from ThePrimeagen, who had been using for a while, while it was in private beta.

#linux

threaded - newest

tkw8@lemm.ee on 11 Jun 17:15 next collapse

This feels like a paid advertisement ”review” to me. There is basically nothing negative or critical at all. No places to improve? Here is the most critical bit in the entire post:

If you use GNOME, you should definitely be giving Ghostty a try. To be completely fair, I did not dislike using it on my other KDE Plasma — based machine either, but it does not feel as “native” yet. One day it will, though…

Mmmmm 😕

blackbrook@mander.xyz on 11 Jun 19:39 collapse

In support is that, I’d point to

As you keep navigating through the hamburger menu, one thing you will notice is that, unlike on the default GNOME terminal, there is no graphical Settings menu to speak of here. The reason for that is that Ghostty is so customizable that it would have been pretty much impossible to provide a practical GUI to expose all its configuration options: you need the full expressivity of a configuration file for that.

as making a virtue out of a lack. I really don’t buy that “impossible” line. It was just too much work or work they during want to do.

QuizzaciousOtter@lemmy.dbzer0.com on 11 Jun 17:50 next collapse

Since the review doesn’t mention any downsides I’m gonna go ahead and share one. This might seem like a tiny thing but relatively slow startup turned out to be a total deal breaker for me. In my workflow, I open and close a lot of terminal windows. Sometimes I spawn terminals just for a few seconds to run a single command and then close them. Kitty and Alacritty launch instantaneously whereas Ghostty has a noticeable lag which was just infuriating to me. Also, it doesn’t have any useful (for me) features not present in Kitty so yeah, I guess it’s not for me.

TMP_NKcYUEoM7kXg4qYe@lemmy.world on 12 Jun 08:18 next collapse

This is why I use foot in its client-server mode. It allows basically instant startup because the server is already running in the background (even on my Core 2 Duo Thinkpad).

jodanlime@midwest.social on 13 Jun 00:29 collapse

The foot clan is strong

med@sh.itjust.works on 13 Jun 04:54 collapse

We’re everywhere!

greywolf0x1@lemmy.ml on 14 Jun 14:54 collapse

Me too

friend_of_satan@lemmy.world on 13 Jun 02:06 collapse

I thought you were going to talk about the lack of terminal scrollback.

Edit: I was misremembering. There is scrollback, but you can’t search it. github.com/ghostty-org/ghostty/issues/189

med@sh.itjust.works on 13 Jun 04:53 next collapse

And search.

QuizzaciousOtter@lemmy.dbzer0.com on 13 Jun 13:58 collapse

Well, I didn’t even get to this part. But… it doesn’t have scrollback? Really? That’s crazy!

dragonfly4933@lemmy.dbzer0.com on 13 Jun 15:45 collapse

Ghostty has scrollback, I have no idea what that person is talking about. I think it is missing scroll bars, but you can scroll using the mouse wheel or shift+pgup/dn. The buffer is also not very big by default but I think it can be changed via config file.

Andy@programming.dev on 11 Jun 18:05 next collapse

It is very good, and I am currently using it. I don’t like its dependencies on GTK stuff, the developer is a little picky about what to support, and I dislike the +options style. Other than that, 👍 .

Also great: Wezterm, Konsole, Rio. I’m excitedly following Rio’s development, which has a much smaller dependency list, and hopping back and forth between it and Ghostty/Wezterm. But it’s still got some things to iron out and features to develop.

jodanlime@midwest.social on 13 Jun 00:31 collapse

Rio as in Plan 9?

Andy@programming.dev on 14 Jun 21:26 collapse

I don’t know how they picked the name for this new terminal, maybe it’s a reference.

CsXGF8uzUAOh6fqV@lemmy.world on 11 Jun 18:19 next collapse

Starting to feel like a boomer with st/dmenu on xorg.

misterbzr@lemm.ee on 11 Jun 18:22 next collapse

It does the job. And does it well.

737@lemmy.blahaj.zone on 12 Jun 22:47 collapse

st is missing every feature besides displaying text and ansi escape codes

StrangeAstronomer@lemmy.ml on 11 Jun 21:43 collapse

actual boomer here with foot on sway

not_amm@lemmy.ml on 13 Jun 17:43 collapse

Hey, I also sway my foot while using the terminal!

TheAgeOfSuperboredom@lemmy.ca on 11 Jun 18:37 next collapse

I tried this one and Wezterm, but I just couldn’t get past how much vram they use, when vram is still at a premium. Konsole works really well for me anyway, so I guess I don’t see the appeal.

Though, I do like Wezterm’s lua config.

SkabySkalywag@lemmy.world on 11 Jun 19:27 next collapse

On my MacBook Ghostty is fucking awesome!! Testing several for the macOs these past weeks and so far it’s still at the top.

trevor@lemmy.blahaj.zone on 11 Jun 20:15 collapse

Yeah. A lot of the extra nice things about Ghostty come from native macOS features. It’s a very different story on Linux, but still a solid terminal emulator there as well.

Karla_Smiles02@literature.cafe on 11 Jun 19:32 next collapse

Man I just don’t feel the hype for it. On macOS I love iterm2 and on Linux I love kitty.

trevor@lemmy.blahaj.zone on 11 Jun 20:13 collapse

Ghostty is amazing on macOS. On Linux, it’s basically another GTK terminal emulator with a lot of nice configuration options, but nothing that special.

lemon@sh.itjust.works on 11 Jun 20:15 next collapse

I give it a spin every month or so to see how it’s getting on. I’m on macOS.

Every time I walk away unimpressed, despite its maker’s very deserved esteemed reputation.

I’m probably not seeing something. What I do see, however, is that I can’t search my scrollback history, nor can I select text without a mouse.

Also, pressing cmd+, on macOS opens the config inside TextEditor (yes, a separate GUI app) rather than in $EDITOR. It’s a small thing but I couldn’t figure out how to change it. Coming from Kitty, this drove me mad.

I’m not sure who Ghostty is for. My feeling is it’s aiming to be an excellent, polished experience for casual terminal users. But I didn’t see anything that Kitty or just tmux anywhere can’t do.

F04118F@feddit.nl on 11 Jun 21:35 collapse

The article says it can debug TUIs, similar to what the browser’s debug panel does for web apps. That is useful for TUI developers.

Other than that, I don’t know either what Kitty is missing.

thatsnothowyoudoit@lemmy.ca on 11 Jun 20:19 next collapse

Ghostty has lots of issues ssh-ing into remote systems that aren’t on the bleeding edge.

I couldn’t get it to work reasonably well enough for me and tried a bunch of others. Currently using Alacritty on both my Linux desktop workstation and Mac Laptop.

I use Zellij anyway and it has all the tab/pane/floating window support I was looking for.

arcayne@lemmy.today on 12 Jun 06:22 collapse

Just gotta adjust your TERM value. You can do it per host in your ssh config, if you don’t wanna set it globally. SetEnv TERM=xterm-256color

thatsnothowyoudoit@lemmy.ca on 12 Jun 10:20 collapse

Yep - but seeing the thread about it in their github repo was also a turn off. I don’t have to do it with other clients.

I also believe that has to happen on each server - and we’ve got a lot of servers. I’m not particularly keen on needing to change anything to get my terminal emulator to, well, work.

While I get the ghostty team’s PoV - I don’t agree with it.

arcayne@lemmy.today on 12 Jun 18:07 collapse

That’s fair, I get the frustration.

I guess I’ve been cutting Mitchell some slack since this is a passion project for him - his goal was to build the modern terminal he always wanted, so an opinionated feature set was always expected. And, new terminals with actual new features need their own terminfo entries, it just comes with the territory. It’ll sort itself out as the databases catch up.

For now, though, you don’t need to address this on an individual host level. I’m in the same boat at work with thousands of servers. If you want to give Ghostty another shot, this wrapper handles the issue automatically, even for servers where AcceptEnv doesn’t include TERM or where SetEnv is disabled:

ssh() {
    if [[ "$TERM" == "xterm-ghostty" ]]; then
        TERM=xterm-256color command ssh "$@"
    else
        command ssh "$@"
    fi
}

Just drop it in your .bashrc (or functions.sh if you rock a modular setup) and SSH connections will auto-switch to compatible terminfo while keeping your local session full-featured. Best of both worlds. ¯\_(ツ)_/¯

thatsnothowyoudoit@lemmy.ca on 13 Jun 02:44 collapse

I really appreciate your response. It’s incredibly helpful and deeply thoughtful. Thank you.

What comes next is not directed at you but rather provides some other color based on a few things you touched on.

I worked for the guy. He gets no slack from me. He changed my life in many ways both wonderful and not. And while it’s unlikely I’d work with or for him again he was a net positive in my life.

I don’t see product the way he sees product which is exactly as you note: it’s for him. Some of that “for him” approach has resonated deeply with the OSS community and still does. He changed Cloud Computing in the best of ways. He’s a giant. And we’re lucky he’s around.

This small ghostty issue (and some others I can’t recall now) was emblematic of our core disagreement about how we build systems for a broader user base. That’s why I said I get their PoV but disagree with it. I think it would be fair to say using the product reminded me a lot about this particular tension. Reading the GitHub issues even more so. That’s wholly on me.

I am thankful to ghostty for helping me explore many more options. I had been using iterm2 on my laptop and struggling to find something I liked on my Linux workstation. Checking out the new hotness after all the hype still resulted in a net positive.

Nevertheless I am genuinely happy it’s working for you and, again, thanks for your kind and calm response.

arcayne@lemmy.today on 13 Jun 16:47 collapse

Wow - you’ve certainly got a unique perspective on the situation, and I’m grateful that you took the time to share it. Thank you. It’s fascinating to hear from someone who actually worked with the guy.

I can relate to both the Linux struggle and your “I get their PoV but disagree” reaction. Had the same feeling when Kitty’s creator dismissed multiplexers as “a hack” - as a longtime tmux user, that stung. Great tool, but that philosophy never sat right with me. I bounced between most of the more popular terminals for years (Wezterm rocks but has performance issues, Kitty never felt quite right) so I was eager for Ghostty to drop. So far it’s delivered on what I was hoping for (despite needing a minor tweak or two out of the box).

I’m glad you found my last response so helpful. Sounds like exploring alternatives worked out well for you in the end, which is what matters. Cheers. :)

jroid8@lemmy.world on 11 Jun 21:29 next collapse

Why does it have a GTK dependacy? It makes it noticeably slower to open on KDE compared to kitty

some_guy@lemmy.sdf.org on 11 Jun 22:22 next collapse

Solid review. Just installed on my Mac. Started up very quickly. Looks nice. I’ll use it as my daily driver for a few days and see how it feels.

llii@discuss.tchncs.de on 12 Jun 06:57 next collapse

Is it crazy that I just use the default provided terminal emulator (Fedora/Gnome)? Why would I use something like this?

Ferk@lemmy.ml on 12 Jun 09:07 next collapse

If you are happy with the default, then just use the default.

Some of us use the terminal more than any other app, so I like my terminal to be super lightweight and snappy in all situations so it opens instantaneously (I doubt this one is like that though, if it has big dependencies like GTK / Qt), preferably if it does so without sacrificing in features (true color, things like sixel for graphics, allowing to set fallback fonts, maybe font ligatures, being able to set the app-id so my compositor can treat special terminal windows differently, etc).

llii@discuss.tchncs.de on 12 Jun 09:16 collapse

Oh, yeah. If it’s your primary work environment I can see how you could use such features. I use the terminal maybe 1-2 per day, so it’s not a priority for me. Thanks for clarifying!

Mwa@thelemmy.club on 12 Jun 12:35 collapse

If you like the default terminal use it for me i use terminals like this due to the gpu acceleration and stuff

thedeadwalking4242@lemmy.world on 13 Jun 14:03 next collapse

What does the gpu acceleration do for you, I’ve never noticed a difference. Tbh I feel like I even get more latency

qweertz@programming.dev on 14 Jun 23:45 collapse

gnome terminal and console have hardware acceleration and have had it for a while AFAIK

Mwa@thelemmy.club on 15 Jun 11:36 collapse

Fr and if so how to enable it

Mwa@thelemmy.club on 12 Jun 12:31 next collapse

I use this Terminal emulator on a daily basis main reason due to GPU acceleration while having tabbing

data1701d@startrek.website on 12 Jun 23:54 next collapse

Honestly, I rather like the default XFCE terminal. In fact, I was using it even before I used XFCE back when I was just playing with the default GNOME in VMs before I daily-drove Linux.

TechnoCat@lemmy.ml on 13 Jun 01:17 collapse

I tried it out on Fedora a few months ago and I found alacritty felt faster in nvim. So i stayed on alacritty.