HACKER Q&A
📣 endorphine

Which Linux terminal emulator do you prefer and why?


I was thinking that the terminal emulator of my Debian installation is one of the most unknown yet widely used tools of my setup. I know my editor, window manager and shell better than my terminal emulator.

Currently I use urxvt on Debian. But I'm not sure why - it wasn't a conscious choice. I think it comes by default with i3 or something.

Anyway, Linux users, which terminal emulator would you suggest and why? (I'm on Debian in case that makes a difference.)


  👤 cbsks Accepted Answer ✓
Kitty is an amazing terminal if you are willing to spend some time to learn and customize it. Take a look at the screencast on its website, it is super powerful and will make your coworkers and friends jealous.

https://sw.kovidgoyal.net/kitty/


👤 bediger4000
Vanilla xterm.

It uses a lot less resources than any other emulator. Thomas Dickey keeps it updated. It has an unusual, but usable scroll bar. You can configure cut-n-paste to help you with command line work. You can change what a "word" is for cutting/copying to include /, ., *, so working with Unix file names is easier.


👤 wef
foot - https://codeberg.org/dnkl/foot

  Fast, lightweight and minimalistic Wayland terminal emulator.
  Features:
    * Fast
    * Lightweight, in dependencies, on-disk and in-memory
    * Wayland native
    * DE agnostic
    * Server/daemon mode
    * User configurable font fallback
    * On-the-fly font resize
    * On-the-fly DPI font size adjustment
    * Scrollback search
    * Keyboard driven URL detection
    * Color emoji support
    * IME (via text-input-v3)
    * Multi-seat
    * Synchronized Updates support
    * Sixel image support

👤 abudabi123
Konsole is the default on KDE. Everything is near perfect except for an escape to classical Xterm three mouse button behavior for start to finish text sequence highlight. That right mouse button for context menu can be pushed off to Meta-Button-3. I never use the context menu but highlight text start to finish all the time. Very long web addresses with inserted prefix symbol sequence on line continuation Konsole could be smart enough to autoclean. A poleposition race among the terminal emulators to decide which is fastest and complete would be useful to check frequently.

👤 justin_oaks
Forgive my ignorance, but what are big differences between terminal emulators that push people to one vs another?

Does making use of terminal multiplexer, like tmux or GNU screen, make some of those differences less important?

I mostly use whatever terminal emulator is on my system. Currently that's xfce4-terminal. But I use GNU screen so I only ever have one terminal window open and I almost exclusively use the keyboard shortcuts for GNU screen instead of terminal shortcuts.


👤 gsora
WezTerm! Minimal, fast, cross platform-first approach, easy to configure.

I use it on macOS and Linux with essentially the same configuration file, no issue at all.

And the maintainer is a cool human being, which is always a plus.


👤 qbasic_forever
Alacritty, because the config is simple YAML and it can display with zero window embellishments or other UI. It's great for tiling window managers in particular.

The font rendering is great and you can adjust padding, margin, etc. to tweak readability for your tastes. I'm a fan of plain background with good contrast color, larger than normal font, and a clean one character wide padding around the terminal. It feels a lot like a web browser display. I hate terminals that go for the smallest possible font and super dense output.


👤 physicles
Terminator for a couple years now, because it has native support for split windows and is otherwise pretty good.

tmux is great, but it essentially breaks multi-line text selection (you end up selecting bits of text from an adjacent pane), an update in any pane will cancel text selection in any other pane, and mouse wheel scrolling doesn't work.

Terminator solves those issues and also has great unicode/IME support -- I can type Chinese directly into the terminal.


👤 lgeorget
I use Konsole when I use Plasma and urxvt when I use Xmonad. Konsole is a no-brainer, it comes with the desktop environment and I like the ctrl+/ctrl- shortcuts to change the font size.

urxvt is more customizable, when I feel like it (that's also the case for Xmonad, now that I think about it).


👤 Szpadel
I'm using tilix with tmux inside. tilix can be configured to not have any window manager decoration and have quake mode (drop-down terminal) it's my replacement for guake that wasnt working nice with Wayland. you can also put it in fullscreen and it'll stick to it in quake mode - the preferred way to use terminal for me

👤 pmontra
Gnome Terminal because it's the default in Ubuntu and does what I need. I should give a try to kitty after I read about it here on HN weeks ago.


👤 epakai
urxvt. It's very fast. I do a non-scientific benchmark of 'time find ~'. After repeats I see: urxvt=3.86s, alacritty=4.25s, kitty=7.62s, xterm=14.04s. (That xterm time feels suspect, I remember it being faster)

Mostly it was an improvement over xterm. I setup runtime font size change, a perl script to open new terms in the same working directory, and scroll bar the way I like.

On my newer setup for wayland I settled on alacritty (kitty was a competitor, X terms were out because fractional scaling results in blurry fonts). Neither option has a scrollbar which sucks, but I was able to get similar feature parity to urxvt.


👤 pxc
I use tmux for all 'advanced' functionality, like scrollback and copy/paste, so I'm not picky as long as performance is good and basic features are present. The one thing is that I like to use a fullscreen dropdown terminal, so I do use Yakuake on KDE-based environments and Guake on GNOME-based ones.

👤 tristor
Terminator, every single time. Was a godsend when I was in Ops.

👤 gwillz
Yakuake. You're easily spoilt by a quake mode terminal and it's hard to go without it. Tab management and shortcuts are great. Full utf8 support.

It's essentially the same as Konsole, all the internals are shared libraries.

That all said, dunno how it would fly with a tiling window manager.


👤 jolmg
urxvt because of how light it is and because of its extensions, particularly the one for controlling the cursor with the keyboard. I often use it to do quick impromptu searches of the output of previous commands or to copy something. I also like the pseudo-transparency extension.

👤 smcn
Emacs with eshell for the most part.

If I need something else, I'll use whatever comes with the DE, typically gnome term. It's alright. I don't mind it. It doesn't excite me.

I used cool retro term for a week or two there for the nostalgia and it was nice but a bit much for daily work.


👤 synergy20
gnome-terminal, universally installed, got the job done for me.

tried kitty xterm konsole lxterminal(nice fonts) over the years, the default one wins.

the gpu-based term(e.g. kitty) does have a nice feature, it can display images just like the old xterm, i hope gnome-terminal can do that one day.


👤 woodruffw
I was a happy urxvt user for years, but switched to Alacritty[1] about a year or so ago. My main reasons for switching were wanting better emoji support (urxvt handles Unicode admirably, but not emoji) and wanting a better configuration language (I hate writing Xresource rules).

I don't believe it's had a 1.0 release yet, but it's been stable in my use cases, and (perceptively) performant.

[1]: https://github.com/alacritty/alacritty


👤 sombragris
Konsole, and yakuake as its Quake-like version. It comes with the Plasma desktop and it has all features I need plus a million more. And it's reasonably fast.

👤 anonymzz
Alacritty,Because It's fast & minimal. If you want ligurature support & many features you can use kitty.

👤 TeddyDD
I use Alacritty because it's easy to configure and low maintenance. It's missing two features I'd love to have: ligatures and inline images. Ligatures are not important enoguh to switch and inline images won't work in tmux (tried it with wezterm and kitty) so I guess I'm stuck.

👤 KMnO4
I use Kitty because it’s incredibly quick (especially with the -1 flag). I use a tiling window manager and can flood my screen with dozens of terminal windows in under a second.

Probably not a big deal for most, but I mostly live in the shell.

Kitty isn’t the best feature wise though. Even config changes are tedious.


👤 zzo38computer
I use xterm. (However, there are some problems with it such as the pieces of big Sigma cannot be displayed (I think because it uses Unicode for conversion; you cannot just use fonts with the specific encodings directly, which I would prefer it to do), and some other problems; but it also has some advantages such as using Xaw and using bitmap fonts.)

Maybe some time, I can write a better one, possibly. (One idea I have also is a kind of "secure universal escape", which might possibly use /proc file system if necessary, that would ensure that the state of the terminal is correct after the prompt is returned (and possibly also to check that the prompt is not being faked). The other idea is to not use Unicode.)


👤 JdeBP
I prefer my own, that I wrote. But then I would. (-:

👤 phibz
I discovered alacrity when I first learned rust and have stuck with it. It has good performance, despite possible exaggerations or regressions, good compatibility, a big enough scrollback, and real transparency. All my most important features YMMV

👤 stuaxo
Tilix, basically a much more being able to do splitting etc from the GUI, and pretty standard Gtk view.

It has optionally has CSD, which I'm a fan of (I know many are not, but I kind of like widgets in the toolbar, going buck to Amipro, and later Winamp)


👤 bluedemon
I like Terminology. It has some pretty cool features as shown here: https://www.enlightenment.org/about-terminology.md

👤 whalesalad
I use terminator.

👤 yasinaydin
I used to use Guake for a long time, then when I was looking for an alternative with less dependencies, I found Tilda (https://github.com/lanoxx/tilda), which is very similar.

👤 anotherevan
I've used KDE for decades before switching to Awesomewm, so still use Konsole (and Dolphin for that matter). In particular I like having the tabs row along the bottom, detection of URLs with the option to open, and the reasonably clean look stylistically.

I'm open to changing, perhaps something that's a little faster at starting, but not found one that makes me go "a-ha" yet. Tilix looks like it has potential - may play with it a bit more. If I can get rid of the toolbar...

Also, alternative file manager to Dolphin with a similar feature set...


👤 skinney6
I've been using Roxterm with AwesomeWM. I don't like borders, tabs or menus on my terminal. I just want it to pop up with a key combo (Meta Enter) and disappear with a Ctl-d. Bang bang. I bounced around for a bit and settled here. I can't recall all the details but Roxterm just seemed to be the one I could config to my liking on AwesomeWM. Arch moved it to the AUR a few years ago. I guess it's fallen out of favor for some reason.

👤 nathanasmith
If I need a standalone window I reach for lxterminal. It's lightweight, modern enough looking, and does exactly what I need without any annoyance. Most of the time though I just use guake which as most everybody here knows is a terminal that works like old school first person shooter consoles where you press a button and it appears down from the top of your screen, press the hotkey again and it tucks back up and away. If I'm using a Mac a good alternative to guake is iTerm which has similar functionality.

👤 katdork
wezterm, because it seems to have all the functions I want (ligatures, RGBA OSC, proper OSC support for base16) and is written in Rust, has sane configuration and nice platform support

👤 treffer
At some point I got hooked to kde konsole because it allows you to hide everything: hide the scroll bar, hide the menu, hide the tabs. Nothing but window decoration & a terminal.

Oh and my terminal window is slightly transparent. There is a sweet spot where I can still read e.g. this text through the terminal (if need be) while not getting annoyed by the transparency.

That plus I still have all the abilities of a "fancy" terminal emulator: tabs, large scroll window, hyperlink klicking, ....


👤 s_ting765
I recently started using kgx, aka console and it's a fresh breath of air tbh. Esp the purple color scheme change on the terminal tab whenever you are in a ssh shell. The red warning prompt after pasting a command with sudo in it is also a nice touch.

Didn't know the terminal could be this interactive but am liking it.

I liked blackbox and it was initially going to be my gnome-terminal replacement. If only the project was a bit more complete (has a high CPU usage bug).


👤 yonrg
urxvtd + urxvtc

I just got used to it over the years. I also have a number of extensions which I would miss. Also it is just very responsive and low on resources; same league as xterm.

Also nowadays terminfo is mostly available on remote machines; I mainly work remote (I had an odroid as local system for quite a while).

I would say, there is no reason to have a terminal which does tiling, there is tmux which brings many more features. Also, what the heck with gpu enabled terminals?


👤 cjm42
xfce4-terminal, because I switched to Xfce when GNOME went on their "reinvent the UI" trek. I was happy with the UI I already had, thanks very much.

👤 throwaway67743
Tilix, because it's relatively simple and doesn't get in my way with silly features (flame away konsole fanatics!)

👤 peter-m80
Guake, for no reason. I tried it and fulfilled my needs.


👤 dzek69
BTW, a little off topic, but...

I wish something like Windows Terminal or ConEmu was available for Linux. After Windows 10 supports will end I'm going to switch to Linux again and I wanna cry because Linux tools almost always are so feature-less, buggy, unfinished or ugly.

ShareX, Everything, terminals mentioned above. With 7+ taskbar tweaker even taskbar is much more powerful than any desktop environment I tested :(


👤 t6jvcereio
Follow up, what's the Linux terminal with the lowest latency? What about the one with the highest thru put? Debian if that matters

👤 weitzj
Now on i3: I used to have urxvt in daemon mode, so opening a new terminal will be faster and just launch a client.

Then moved on to alacrity and finally it is kitty now.

I just want to open my terminal fast on i3 and be able to display graphics in them (therefore kitty)

Before i3 it was urxvt with tmux. I don’t have reasons to combine tmux with i3 (e.g. resuming a session). I3 is good enough


👤 Smithalicious
I use xst, a fork of st. It does everything I need it to do. It's not very feature-full, but even if I had the kinds of features other terminal emulators have I wouldn't use them, so this is fine.

https://github.com/gnotclub/xst


👤 gerdesj
Terminal emulator.

When I boot my laptop or PC I get a graphical login (sddm) and a whizzy environment on login - KDE n that. I can hit CTRL-Fx and get a console, a terminal if you like. It does conform to some sort of standards but is it really an emulator? Emulating something implies a second rate experience and I don't think that applies here. My terminal is just fine.

Now is my terminal a good one? Well we might have to consider the shell too because that is a major part of the text based console experience. I use BASH. I know that other shells exist and they have adherents (often quite vocal!) I've tried FISH and loved it but it isn't BASH which is available nearly everywhere. zsh, ksh etc are not bash but they are well supported so adherents are well served and we are all happy.

So I run BASH in a konsole mostly. It's just something to run commands and get stuff done. I've tried funky extras that fiddled with git n that and changed the prompt and made my console life more productive. It doesn't really and simply slows it down.

I like my shells to be unimaginative but reliable and my consoles to be pretty staid too. I like a bit of colour but not much more.

Sorry, to answer your question: konsole.


👤 bravetraveler
I use Kitty!

Mainly because I wanted something a bit snappier than Tilix but configurable to basically behave the same way -- built in panes, same shortcuts, and input broadcasting. The last one took a script, but I've been happy with it.

An accelerated terminal is very helpful for watching tons of logs scroll by


👤 hsbauauvhabzb
I previously used kitty and had no issue, but moved to gnome terminal as kitty chewed through VRAM pretty fast on my 4k monitor setup. I use too many terminals, but gnome terminal appeared to unload vmem when moving away from a workspace, kitty did not.

👤 AlchemistCamp
For me, it's Alacritty. It's fast, it's cross platform and it's driven via an alacritty.yml config file that's easy to move between machines.

The vim like navigation of terminal output history is also handy for finding things.


👤 camgunz
I used the terminal in gVim (:terminal). It's pretty close to xterm in terms of responsiveness, supports Unicode, and lets you avoid a multiplexer like GNU screen or tmux. Fallback is good old xterm (always have a fallback).

👤 ivanjermakov
- Suckless' st for its launching speed and simplicity

- Alacritty for better keycode support


👤 mindcrime
Konsole. Why? Well.. I mean, I'm a KDE user anyway, and I've been using it for a long time. It "just works" and I've never felt any particular need to switch to anything else.

👤 t-3
XTerm. It's fast and it works. I wish it could be attached as a serial terminal like st though.

Lately I've found that I'm more productive just dropping into a console with docs on an eReader though.


👤 Findecanor
Mate Terminal, mostly because it supports multiple tabs that I can switch between using the same keyboard shortcuts as in other programs. Consistent, simple. I don't need more.

👤 nelgaard
termit.

I just want unicode and tabs and a way to set background and foreground colors.

I also like lxterminal and of course the emacs shell.

I did try kitty after reading this, but is failed because of my openGL configuration. Silly.


👤 ranguna
Termite, it does one thing and does it well. I have no need to graphically accelerate a black window with white text, it's good on my battery.

👤 ahmadraniri
Since I'm fully on wayland, so foot terminal is my choice. Sometimes I use vbeterm (gtk and vte based terminal), it works for both wayland and X11.

👤 mortenlarsen
Anything not based on libvte, it is like a CVE magnet.

👤 ahmedbodi
Surprised to see no mention of Hyper https://hyper.is/

👤 zatarc

👤 ElectronBadger
I've been using urxvt on i3 for man years, just recently replaced it with kitty. Seems like it stays.

👤 d0mine
vterm inside emacs.

vterm is sufficiently standard terminal emulator. Emacs plays the role of a windows manager (manages multiple vterm windows (buffers in emacs terms)). Easy to save/restore window configurations.


👤 lankenj
st. [1] Its simple and has everything I need, which is utf-8 support. Tabs and stuff i do via tmux.

[1] https://st.suckless.org/


👤 em-bee
i'd like a terminal that let's me create a multi-window layout and actually recreate that layout with exact positions and sizes every time i start it.

recommendations?


👤 magios
xst, fork of suckless st https://github.com/gnotclub/xst

👤 jstx1
Why do you people use terminal emulators?

👤 nortonham
xterm, mostly out of habit, and because it's everywhere. I'm on debian as well.

👤 BerislavLopac
I really grew fond of terminator.

👤 yakak
st because it is minimal and sufficient for tmux to do whatever it needs to do.

👤 lizknope
mrxvt

It has tabs and hot keys to increase / decrease the font size


👤 joshu
wezterm