frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

State of Terminal Emulators in 2025: The Errant Champions

https://www.jeffquast.com/post/state-of-terminal-emulation-2025/
113•SG-•7h ago

Comments

audidude•5h ago
So the state of 2025 then tests a VTE that is from 2023? 4 major releases behind? And through a GTK 3 app, not even a GTK 4 one which will use the GPU?
embedding-shape•5h ago
Which one is that about specifically? Maybe the author could fix it.

Compared the results (https://ucs-detect.readthedocs.io/results.html#general-tabul...) with what I use day-to-day (Alacritty) and seems the results were created with the same version I have locally installed, from Arch/CachyOS repos, namely 0.16.1 (42f49eeb).

milliams•4h ago
Likewise I noticed that Konsole was version 23.08. I've just submitted a PR (https://github.com/jquast/ucs-detect/pull/14) to update it to 25.08.
scuderiaseb•5h ago
Nothing even mentioned on WezTerm really?
embedding-shape•5h ago
It's in the results, even if not mentioned in the blogpost: https://ucs-detect.readthedocs.io/results.html#general-tabul...
greggh•3h ago
People still use WezTerm when we have Kitty and Ghostty? Can you explain why? I'm actually interested to know what would make someone make that choice.
alwillis•2h ago
> People still use WezTerm when we have Kitty and Ghostty?

Very customizable and extensible using Lua. Extensive documentation, native ssh support and built-in multiplexing.

pneumic•2h ago
Wezterm is actually programmable. I am looking to drop Kitty as it intentionally offers minimal tmux support and the text rendering options that made it superior for me are being deprecated.

Until Ghostty offers the scriptability found in wezterm and kitty (e.g., hit a keybind, spawn a new terminal and execute a font picker script), I am trying out wezterm, which is pretty great, but renders fonts too thin by default. I stare at this thing eight hours a day so text rendering is super important.

skerit•4h ago
I see Ghostty does not support (and does not plan on adding support for) Sixels, instead preferring the Kitty image protocol.

Now if the Kitty image protocol is so great and the Sixel stuff is so bad, ~~why is it only used in Kitty and Ghostty?~~

*Edit: it's also supported in Konsole, WezTerm, ... but still I'm interested in why we have 2 competing protocols right now.

didibus•4h ago
I think it's because Kitty and Ghostty are the newest terminals, so they came up with new modern options and solutions.
embedding-shape•4h ago
> Now if the Kitty image protocol is so great and the Sixel stuff is so bad, why is it only used in Kitty and Ghostty?

Images as in "pictures" or is that something else? I'm using Alacritty, and I don't think I've once thought "I need to see this image inside the terminal" and I do deal with images and frames from videos a lot. Probably if I saw it being added to Alacritty I'd think it was adding unnecessary bloat, so I wouldn't be surprised not every terminal is rushing to implement it.

Or I completely misunderstand what you're talking about.

porridgeraisin•4h ago
Yes, pictures. It's quite useful. Opening images on remotes for one. Viewing plots arbitrary python scripts create for another.

Off the top of my head.

alwillis•4h ago
I’ve found it useful, when paired with a terminal file manager, to preview graphics in the terminal.
the_gipsy•3h ago
The alacritty maintainers reject any image protocols as unnecessary. I am fond of images in terminals, but I gotta say that I respect their decision, very good call. Not every terminal emulator should do the same.
embedding-shape•2h ago
I didn't know, but I'm happy to hear we seemingly are aligned regardless :) Thanks for the additional context!
ziotom78•3h ago
I run Kitty and use this feature regularly. Most of the time, I rely on it within Yazi [1], a TUI file manager, but I can also display plots within the Julia REPL, thanks to the KittyTerminalImages.jl package [2]. It's even more crucial when I'm navigating a remote directory and need to check an image file, as I usually have timg [3] installed on those servers. Once you discover how valuable this is, it becomes a permanent part of your workflow.

[1] https://yazi-rs.github.io/

[2] https://github.com/simonschoelly/KittyTerminalImages.jl

[3] https://github.com/hzeller/timg

leephillips•1h ago
Definitely. I use KittyTerminalImages.jl often, and also the image.nvim plugin for embedding images into a Markdown or other buffer in Neovim: https://github.com/3rd/image.nvim
xp84•2h ago
I have to say, (caveat, I have not tried any of these yet) that I am intrigued by all these features like graphics being added to terminals. It feel like exploring an alternate timeline 1990s where the GUI “lost” — of course in the absence of a successful Windows and Macintosh, terminals would have naturally gained these graphical abilities 30 years ago.
wrs•2h ago
That alternate timeline started in 1982 with the Blit terminal. [0] It was a GUI made of overlapping terminals that had a serial graphics protocol.

[0] https://www.osnews.com/story/26315/blit-a-multitasking-windo...

trenchpilgrim•2h ago
Viewing an image in a terminal can be really handy for debugging ML systems that use images or bitmaps. You can also paste images directly into claude code as context.

Once while working on a daemon that did both ML and DSP on live audio I added the ability to play sounds and display spectrographs of in-memory audio data at various points of the internal pipeline to debug an issue that would have been difficult otherwise. Way quicker than dumping WAV files to view externally.

setopt•2h ago
It’s pretty nice to ssh into a remote host and plot some data there without needing either X forwarding, or dumping to files and rsync’ing, or similar workarounds.
mikkupikku•1h ago
Images in a terminal emulator is neat for stuff like `ranger`
lloeki•1h ago
I'm not particularly fond of displaying images on the terminal in ways that would resemble a GUI.

That said, augmenting a shell-based workflow with tidbits such as this had me sold:

https://xcancel.com/thingskatedid/status/1316074032379248640...

https://xcancel.com/thingskatedid/status/1316075850580652032...

To achieve that, either Sixel or Kitty protocol is fine. IIRC Sixel works over SSH without any fuss, dunno about Kitty.

cb321•8m ago
I can confirm that I just do it over ssh fine all the time -- gnuplot, img2sixel as an "image-cat", etc. (`st` with patches to add sixel support as discussed in various places in these comments.)
bee_rider•51m ago
It would be nice if matplotlib or Octave could display pretty plots and figures on a remote server, in the terminal.
kyawzazaw•3h ago
Curious, what do you do with this?
mechanicum•3h ago
More than two, e.g. there’s also the Inline Images Protocol supported by iTerm2 and WezTerm.

Kovid documented his rationale at some length here: https://github.com/kovidgoyal/kitty/issues/33

zadjii•1h ago
FWIW The definitive thread on "images in terminals" is probably found in these threads:

https://gitlab.freedesktop.org/terminal-wg/specifications/-/...

https://gitlab.freedesktop.org/terminal-wg/specifications/-/...

there's lengthy discussion from just about everyone at this point in those threads, about why images in terminals is Hard

IshKebab•3h ago
IMO none of them are particularly useful. Sixels is hilariously inefficient. Kitty is slightly better because you can send data as PNG, but ... you have to send image data as PNG!

I wish there was a high performance way of remoting graphics over SSH. How cool would it be if you could SSH to a remote machine and it just showed you the remote desktop in the terminal itself? No messing around with port forwarding, weird X servers, etc.

I think probably that requires a full fat video codec like H.264 to work well though. Or maybe RDP?

Probably too many GUI naysayers and "What's wrong with remote X?" for this to ever happen though.

duskwuff•2h ago
At that point you're really better off using some other remoting protocol instead of trying to tunnel it all over a terminal session. There's nothing left of the original terminal.
IshKebab•2h ago
There is though - the ssh authentication and connection is already handled, and I'm already in a terminal. When I quit the app or session I'm back in the terminal.

If it worked it would greatly reduce the hassle.

Think about all the TUI apps that exist. They're useful because they're convenient when working in a terminal, not because they look like shit.

9dev•2h ago
What you are looking for is forwarding an X session via SSH, and that has been supported since the dawn of time.
trenchpilgrim•2h ago
Is there a wayland equivalent?
IshKebab•1h ago
Closest is wprs

https://github.com/wayland-transpositor/wprs

I have yet to use it though because Wayland still doesn't work properly for me (it doesn't restore the desktop properly after sleep) so I'm still on X11... without compositing... because KWin's compositor causes random freezes.

Yeay, Linux on the Desktop.

yjftsjthsd-h•57m ago
Yes, waypipe
IshKebab•1h ago
> Probably too many GUI naysayers and "What's wrong with remote X?" for this to ever happen though.
Brian_K_White•1h ago
If I want to view an image file on a remote machine, and all I have is ssh... I just connect to that machine with filezilla and click on whatever files I want. I can even open files that aren't PNG! Even files that aren't even images at all. Mindblowing.

A terminal with in-band graphics primitives is called an RDP client.

We've had graphics terminals since RIP BBS's and even before that. If they were actually useful enough to be worth the bother, then we'd all have been using them all along and there wouldn't be posts like this.

It's not a case of there's this awesome idea that just for some reason no one knows about. No, it's just not that awesome of an idea. It's not harmful so it doesn't bother me that most xterms support tektronix graphics, it's just a gimmick of no real value. It's a solution to no problem.

Don't believe me? When was the last time you used passthrough printing? Or saw it being used even in some place where they do actually need to print? The terminals all still support it. It's just a thing that you don't need to do in-band in a tty, and today there is no reason to bother doing it that way even though you could. It's not better and does not solve a problem.

anthk•1h ago
With sshfs and 'rclone mount' you forget the shell and everything it's a filesystem.
anthk•1h ago
drawterm under Unix clients and 9front cpu connections; but that's Unix Philosphy 2.0.
zokier•43m ago
One of my pet proof of concept projects is figuring out how to ergonomically tunnel web apps over ssh without needing to fiddle with listen ports and port forwards. First attempt was to push http2 over stdio which actually worked, but it didn't really integrate well with terminal use. Currently I think similar approach to X forwarding makes sense, where SSH forwards one unix socket over ssh connection and then the applications can connect to that socket and put http2 traffic over that connection. Basically the idea is to make webapp tunneling as easy as X tunneling, so you can just type command in shell and (browser) window would pop open without any extra hassle. The neat thing is that because http2 has persistent connections with multiplexing etc built in, it works really well for this sort of hack; plain http 1.0 would be far more annoying.
alberth•2h ago
mitchellh says no plan to support Sixel:

https://xcancel.com/mitchellh/status/1985432954089455856#m

electroglyph•1h ago
to be fair, pretty much anything would be better than sixels
shiomiru•41m ago
Sixel came earlier, and already fulfilled the basic requirement of "put pixels on screen in a single well-defined format" (something not even iTerm2's protocol does.)

Kitty is a lot more complex: it accepts five different encodings, has three different ways to load the data, supports animations, etc. So it's no wonder only a few terminal developers had time to implement it.

See also: https://github.com/veltza/st-sx/issues/1#issuecomment-190272... 5000 lines (Kitty) vs 1000 lines (Sixel) even though the Kitty patch is just a "subset".

bartvk•4h ago
The terminal that comes with macOS version ends on the 29th place in the results.
sccxy•4h ago
and terminal that comes with Windows is on the 4th place.
alwillis•3h ago
Yeah… Apple hasn't done much with Terminal.app since they inherited it from NeXT back in the late '90s.

FWIW, it did get Powerline support and 24-bit color in macOS 26.

Asooka•4h ago
I wonder how long until terminals support half of the XWindows protocol (as some weird combination of Markdown, HTML and escape codes, most probably). This is not a diss, I would actually be pretty happy with a pared-down GUI protocol in the terminal with extensive Unicode support.
sph•4h ago
2052: the whole of computing is VT100-compatible Javascript CLI applications running on a Javascript port of the Linux kernel, within a tab of Chromium.

This is the actual end game of the worse is better philosophy.

anthk•1h ago
It's 9front actually. VT100 it's killed except for legacy plaforms, it's seen like CP/M and Altair emulators where looked upon 1995-2000.

9front's libc with a minimal desktop based on a tweaked rio(1) and a taskbar plus a really simple file manager won. People god fed up of FX' and bells and whistles everywhere. A minimal RTF editor with simple options plus a simple spreadsheet with rc/awk support does things much faster. Oh, and, of course, you can damn bind/import devices (video cards, network cards, whole networks) from anywhere to anywhere with IPV6 and quantum networks.

Old GNU/Linuxen, OpenBSD et all are just virtualized at crazy speeds under photonic CPU's.

There's no SSH, just rcpu and quantum-secured factotum(1). Photonic GPU's and neural network devices just boot 9front themselves too, with zero delay. Forget VPN's, too. These are obsolete too.

temp0826•3h ago
There is an in-terminal wayland compositor (or two?) out there, fwiw.

Edit- one example https://github.com/mmulet/term.everything

dmd•1h ago
well iTerm2 now has a #&*%( web browser built in...
mfld•3h ago
While there's vscode console, I think that bare Xterm.js would be a nice addition to the list.
iammrpayments•3h ago
I would use neovide over anything else if they supported macos tabs. It’s the termianl with the best font readability for me.
duskwuff•3h ago
Disappointingly, the native UI for tabbed windows on macOS changed drastically in Tahoe (26.0). I really dislike the new tabs - they're significantly larger, and much harder to integrate into a small window like a terminal.
acuozzo•3h ago
There isn't a single mention of vttest results.
altairprime•30m ago
What features tested by vttest, that aren’t measured by ucs-detect, would you want to see added to ucs-detect?
alkh•2h ago
I have been pretty happy with Alacritty for a while but just tried Ghostty and am a little bit mind-blown. The fact that it has a built-in theme picker is insanely convenient for people working on multiple computers at the same time(so the same theme might not work everywhere).

Overall, it literally looks like a better Alacritty alternative. The creator(s) did a great job!

hnlmorg•2h ago
I thought built in theme pickers were the norm…?
alkh•2h ago
Lol, mb, but I don't believe that's the case for Alacritty. As for the Apple Terminal, it is not great
hnlmorg•2h ago
Apple Terminal is a lot like Internet Explorer in the 00s: for power users it’s only purpose is an interface to install something else which doesn’t suck.
bsimpson•2h ago
The same part of me that is shy to install Chrome extensions is shy to try non-standard terminals. I'd like the thing I type my passwords into to be as trusted as possible.

SteamOS comes with Konsole, so that's what I've got installed in Linux. What am I missing out on by not using e.g. Ghostty?

(I know this article is about Unicode support, but I don't think I've ever had a hard time using a terminal because of its level of Unicode support.)

jeffbee•1h ago
So, don't type your password into your terminal emulator? In many situations (ssh and suchlike) you can use another means of unlocking your credentials.
zadjii•2h ago
No love for Windows Terminal? I know that linux has a much richer terminal ecosystem, but WT ranks a lot higher than a wide breadth of terminal emulators on linux now. Could anyone have imagined that 10 years ago?
gschizas•2h ago
In the test, Windows Terminal (weirdly written as "terminal.exe") comes up as #4 in the scoring table.

As to the "love" question, I still watch this video from time to time: https://www.youtube.com/watch?v=8gw0rXPMMPE :)

EDIT: I love the easter egg with the names of the developers across the Windows timeline :)

jeffbee•1h ago
It's interesting that these are rankings, but in some cases the individual points are make or break for a given use case. For example, none of the emulators ranked higher than iTerm2 support Tek 4010 mode, which iTerm2 does support. So that's the one I keep using.
electroglyph•1h ago
no xterm.js? it's a very good cross-platform terminal emulator
altairprime•34m ago
That seems fixable with a pull request to ucs-detect, if one hasn’t already been made.
christophilus•1h ago
Foot is excellent. Wayland only, but it is very fast to launch, and uses few resources. I love it.
ac29•43m ago
Yep this is my current favorite too. I liked ghostty when I evaluated it, but for some reason it uses an order of magnitude more memory than foot to display a single, empty terminal.
enriquto•1h ago
The table seems wrong. Xterm supports sixels.
altairprime•37m ago
You can fix that with a pull request to ucs-detect; for example: https://news.ycombinator.com/item?id=45801452
cb321•1h ago
`st` used to have a patch set for sixel graphics on its web site. I use an old version all the time to do gnuplots in terminals with nice scrollback. It seems to have been retired in favor of the kitty graphics protocol.
topaz0•58m ago
I can't remember the last time I used a non-ascii character in the terminal. I know that's not the case for everyone, and they deserve good terminals too, but it does mean that the criteria measured here have no relevance to my choice of a good terminal for me.
ubercow13•19m ago
Seems quite hard to avoid

- file management such as running "ls" where any filename has any non-ascii character such as a CJK or accented letter

- editing any text file in a terminal editor that isn't 100% ascii

- viewing/printing any data from any source, such as a log file/the web/'curl'ing something, where any language other than English or non-ascii character is used

- using various modern command line tools that insist on printing emojis in their output

hnlmorg•9m ago
> using various modern command line tools that insist on printing emojis in their output

Ugh. Unpopular opinion this but I personally find this practice repugnant. Same for when used in git commit messages, CI/CD task names and other such places. It just cheapens the quality of the product in my opinion

Graphical characters and symbols like ticks I’m fine with. I have no objection to people wanting to make the terminal pretty. But emojis in software feels like juvenile - like signing a formal letter with your gaming handle.

imiric•6m ago
> And then my next windmill that I'm looking at is variable-sized text in the terminal. So when I'm catting a markdown file, I want to see the headings big.

Is this something people actually want?

One of the reasons I enjoy using the terminal is because the text is of a fixed size and monospaced. Even colors and bold text can be distracting at times. I certainly don't want my terminal to render Markdown...

I imagine the feature could be disabled, but still. I'm all for improving terminal UIs, but let's not turn them into a web browser.

The Mack Super Pumper was a locomotive engined fire fighter (2018)

https://bangshift.com/bangshiftxl/mack-super-pumper-system-locomotive-engine-powered-pumper-extin...
44•mstngl•1h ago•20 comments

Ask HN: Who is hiring? (November 2025)

253•whoishiring•6h ago•269 comments

Learning to read Arthur Whitney's C to become smart (2024)

https://needleful.net/blog/2024/01/arthur_whitney.html
184•gudzpoz•5h ago•69 comments

AI's Dial-Up Era

https://www.wreflection.com/p/ai-dial-up-era
14•nowflux•1h ago•3 comments

The MP3.com Rescue Barge Barge

https://blog.somnolescent.net/2025/09/mp3-com-rescue-barge-barge/
59•CharlesW•1w ago•11 comments

Gallery of wonderful drawings our little thermal printer received

https://guestbook.goodenough.us
52•busymom0•3h ago•18 comments

Ask HN: Who wants to be hired? (November 2025)

97•whoishiring•6h ago•201 comments

Tiny electric motor can produce more than 1,000 horsepower

https://supercarblondie.com/electric-motor-yasa-more-powerful-tesla-mercedes/
489•chris_overseas•12h ago•453 comments

S1130 – IBM 1130 Emulator in C#

https://github.com/semuhphor/S1130/tree/feature/web-frontend
15•rbanffy•1w ago•0 comments

</> Htmx – The Fetch()ening

https://htmx.org/essays/the-fetchening/
156•leephillips•2h ago•30 comments

The Case Against PGVector

https://alex-jacobs.com/posts/the-case-against-pgvector/
229•tacoooooooo•9h ago•92 comments

A visualization of the RGB space covered by named colors

https://codepen.io/meodai/full/zdgXJj/
190•BlankCanvas•5d ago•42 comments

Agent-O-rama: build LLM agents in Java or Clojure

https://blog.redplanetlabs.com/2025/11/03/introducing-agent-o-rama-build-trace-evaluate-and-monit...
12•yayitswei•3h ago•0 comments

WebAssembly (WASM) arch support for the Linux kernel

https://github.com/joelseverin/linux-wasm
199•marcodiego•2d ago•45 comments

Harder, Better, Faster, Stronger Version of Uber H3 in Rust

https://grim7reaper.github.io/blog/2023/01/09/the-hydronium-project/
71•ashergill•1w ago•25 comments

FreakWAN: A floor-routing WAN implementing a chat over bare-LoRa (no LoRaWAN)

https://github.com/antirez/freakwan
13•teleforce•2h ago•4 comments

VimGraph

https://resources.wolframcloud.com/FunctionRepository/resources/VimGraph/
133•gdelfino01•8h ago•22 comments

Skyfall-GS – Synthesizing Immersive 3D Urban Scenes from Satellite Imagery

https://skyfall-gs.jayinnn.dev/
88•ChrisArchitect•8h ago•25 comments

Open-sourced game logic, art and Spine animations – SuperWEIRD Game Kit

https://ludenio.itch.io/superweird-game-kit
5•gamescodedogs•4d ago•2 comments

First recording of a dying human brain shows waves similar to memory flashbacks

https://louisville.edu/medicine/news/first-ever-recording-of-a-dying-human-brain-shows-waves-simi...
169•thunderbong•15h ago•156 comments

Show HN: Tamagotchi P1 for FPGAs

https://github.com/agg23/fpga-tamagotchi
38•agg23•6d ago•3 comments

Robert Hooke's "Cyberpunk” Letter to Gottfried Leibniz

https://mynamelowercase.com/blog/robert-hookes-cyberpunk-letter-to-gottfried-leibniz/
61•Gormisdomai•6h ago•14 comments

An Illustrated Introduction to Linear Algebra, Chapter 2: The Dot Product

https://www.ducktyped.org/p/linear-algebra-chapter-2-the-dot
91•egonschiele•8h ago•47 comments

Measuring characteristics of TCP connections at Internet scale

https://blog.cloudflare.com/measuring-network-connections-at-scale/
47•fleahunter•5d ago•0 comments

The Case That A.I. Is Thinking

https://www.newyorker.com/magazine/2025/11/10/the-case-that-ai-is-thinking
97•ascertain•4h ago•254 comments

Show HN: a Rust ray tracer that runs on any GPU – even in the browser

https://github.com/tchauffi/rust-rasterizer
76•tchauffi•8h ago•21 comments

Leverage Points: Places to Intervene in a System (1999)

https://donellameadows.org/archives/leverage-points-places-to-intervene-in-a-system/
8•Jtsummers•2h ago•1 comments

State of Terminal Emulators in 2025: The Errant Champions

https://www.jeffquast.com/post/state-of-terminal-emulation-2025/
113•SG-•7h ago•79 comments

No Socials November

https://bjhess.com/posts/no-socials-november
94•speckx•5h ago•139 comments

The Continual Learning Problem

https://jessylin.com/2025/10/20/continual-learning/
59•Bogdanp•1w ago•6 comments