I just use konsole , which is the default terminal emulator for KDE. I don't need anything fancy, just something basic to run commands, updates, a few scripts, etc.
konsole is low-key a great terminal. It's really snappy, supports ligatures, and looks good. It's one of my favorite KDE applications and the one I miss most when it's not available.
I primarily use Alacritty. I spend quite a lot of time running things that produce ludicrous amounts of output (eg. compiling Android from source). Out of 10 or so terminal emulators I've tested earlier this year, it was the only one that didn't use 100% CPU displaying all that output, staying in the low single digits.
I'd prefer to use Wezterm because I like its lua configuration system and the builtin pane splitting, but with my workload, I still run into issues where its CPU usage shoots to 100% and becomes non-responsive for a while. (That said, it's already a lot better than before. I try to report any issues I can reliably reproduce and Wez has been wonderful about fixing them.)
I use foot together with foot-server. The client opens in less than a millisecond, and I usually have tens of terminal windows open at the same time. Tabbing comes from the window manager.
Gnome terminal. I don't really care the terminal emulator. What's in the terminal is what's important. The terminal window just needs to be able to resize correctly though.
Anything, but with tmux running inside. You can copy text even in a tty, split the terminal window, detach from and attach to tmux sessions, etc. I will never use a terminal for any moderately complex task without tmux again :)
Position the cursor at the start of the text to be copied, press Ctrl+SPACE to start copying
Position the cursor at the end of the text, press Alt+w or Ctrl+w to copy into the tmux buffer
Press Ctrl+b, ] to paste, possibly into different pane :)
By 'copy', I meant between different tmux panes/windows.
If you open tmux on your host, split it into two panes and SSH into the server in one of them, then you can use this copy functionality. I'm personally not aware of a way to copy between a remote and local tmux session.
There’s a good gnome extension too. I used Guake for years but switched to the extension one day and ended up liking it. It’s basically Guake but the menus and things use a modern Gnome style.
Personally I've been using gnome-terminal for quite a while and was fairly happy except that I needed to maintain gnome-terminal and libvte patches to get notification support. Having some sort of notification when a long-running command completes is very important to my productivity.
I've been using Konsole but not fully happy.
No hyperlink support.
Selection is lost when my prompt updates (I have the time so that I know when I have started commands).
I've been looking at other options but none-of them feel quite right.
Alacritty:
No unlimited scrollback.
Kitty:
Selection bug with updating prompt.
No unlimited scrollback.
Wezterm:
No unlimited scrollback.
Terminator:
Has this terminal group bar that I can't get rid of.
No notification support.
I realize that I am probably going to have to make a compromise (probably just go back to gnome-terminal with patches) but I figured it would be interesting to see what everyone else was using and make sure I didn't miss something.
To me the important features are:
Unlimited scrollback.
Notification support (ideally with the 777 Notify command, but if the terminal bell can make a notification that is fine).
Clean UI. (I don't use tabs so need to be able to hide the tab bar)
I'm pretty sure you can set alacritty and kitty to a ridiculously high number of scrollback lines, like at least several trillion. I think I just add 4 zeros on to the default and I've never had enough output for it to run out of scrollback. At some point you're going to run out of ram or storage for storing scrollback so you can't realistically have unlimited scrollback without doing something ridiculous.
I use Kitty, because it works well on both X and Wayland, and is GPU accelerated. For some reason, Alacritty doesn't display the fonts properly (Displays them much smaller on Wayland. Only program I have such issues with)
Also Kitty is more widely packaged (for example on Debian based distros)
My choice as well. I do my C++ development in Vim, and the keyboard shortcuts for switching tabs were the best I'd found. The easy screen-splitting is great when manipulating virtual machines, or having a man page open when working on scripts.
is there a terminal emulator that has "modern" text entry controls while still having tab completion? Like selecting text by going shift+leftarrow or deleting whole words by holding ctrl+backspace/del or replacing whole words that are selected while pasting text rather than it pasting at the point where the curser is at the start of selected text so you still have to manually delete the original characters. Maybe Undo, redo with ctrl (shift) z...
Stuff like that. Just wondering. I always find it very cumbersome to fiddle with long commands especially if they contain long paths that you want to modify. Lots of backspace and arrow-keys hitting for every single character..
“modern” text entry controls... Like selecting text by going shift+leftarrow or deleting whole words by holding ctrl+backspace/del ...
Those are not really features of the terminal emulator but of the shell. I don't think a terminal emulator can coerce bash or zsh or whatever to do those things unless it acts as some kind of proxy between your text editing buffer and the shell, which would probably lead to its own set of complications. The thing you want would have to be a combination of a GUI terminal program and its own shell.
For bash, I suggest you read up on readline keyboard shortcuts, which can do many of the text editing tricks that you are asking. The shortcuts are different than what you are used to on Windows, and there's no concept of "selecting" text, but for terminal applications it's pretty much the standard way text input is handled on Linux.
I've only managed to come close to that using vs code terminal and PowerShell.
PowerShell is the only shel I've found for windows that allows text selection with keyboard. And since no one uses PowerShell on Linux, no Linux terminals have good support for it, except the vscode terminal.
I rather enjoy Tilix. It can tile a single tab without tmux and it can also give special handling to links matched from regexps. I use it to go from Python stacktraces to correct line in Emacs with just a click. It can also do Quake-like terminal, which I use alot.
The project is looking for maintainers, though, so it's possible at some point I need to start looking for alternatives..
Kitty with catppuccin and 50%-ish transparency. Works like a charm. And also if you add something like what kitti3 does (look it up on github), will be even better.
I love wezterm, primarily because it is cross platform. The most important factor to me is being able to use the same one on Windows, Mac and Linux, because I use all three on a regular basis and don't want to maintain multiple configs. However, wezterm currently has a bug that prevents it from opening on Wayland+Nvidia which forces me to use something else on Linux. None of the other ones get close imo.
Oooh, this looks perfect for me. However how do hyperlinks work? I can see that they are styled and have a unique cursor but I can't for the life of me figure out what I need to do to actually activate them. I've tried click, Ctrl-click, Shift-click, Alt-click 😅
I really like wezterm, mainly because it's configured in Lua and you can easily disable all keyboard shortcuts and allow only the ones you want. I do everything in Tmux, so my only shortcut s are for changing font size and full-screening window.
I counted the seconds for the start... 4 seconds on my system. Tabby is way more comfortable and has a much nicer UI. Those 4 seconds are totally woth it 🐱
guake-terminal for a full-screen overlay terminal, I have a keybinding for transparency toggle so I can read guides through the overlay. I used to use tilda, but I switched because they weren’t supporting wayland.
For random/ad-hoc terminals I’ve historically used gnome-terminal and console, but recently I’ve been trying to eliminate window decoration entirely, and for that I’ve been liking black box (flatpak) for the floating decoration and other configuration bits.
They both support theming, and have dracula included by default, so it was easy enough to get a consistent look and feel.
I have tabs switched off for all of them. That’s what tmux is for.
Not sure if you knew, but Yakuake is very similar to tilde from what I've heard and has worked flawlessly for me on Wayland. https://apps.kde.org/yakuake/
I have, I think the one time I tried it (5 years ago, on a different machine, os and X11), it wasn’t snappy enough. Probably time to go back and check it out!
Guake has this annoying bug on wayland gnome where the interface complains that ‘keybindings can’t be set’, so you control it through custom keybindings that run terminal commands to show and hide the terminal.
There is a gnome extension ddterm which works under Wayland and works like guake. But unfortunately it currently does not support the latest version of gnome yet.
Tested dozen recently… And nothing was so much better to change the default one of KDE.
Used to urxvt (when I was using tilling vm on desktop pc). Used gnome-terminal when I was on cinnamon. I switched to KDE year or so ago and I'm using Konsole. It really does not matter that much, I only need tab support and 256 colors.
Unironically: vscode terminal. It's the terminal that has less bugs when using shift+arrows to select text. I also use PowerShell because bash doesn't allow text selection with keyboard.
Same. Has anyone found a way to launch VS Code as just the terminal window? I've tried hacking around and doing stuff like using Zen Mode with just the terminal displayed, which is close, but I don't think that can be scripted, unfortunately.
I use vterm in emacs if I'm doing something quick, but if I'm actually using the terminal for a task, I use blackbox because it integrates nicely with gnome. I just use vterm if I'm using exwm.
@kevincox For light tasks, I will make use of either vterm (if I'm in Emacs) or Alacritty (if I'm not).
If I need to get down to serious work (such as working on shells and text files both locally and remotely), I'll jump into eshell, using TRAMP when I need to go remote or sudo (or both) to edit files. I'll still use vterm if I need something that does screen redrawing, such as apt.
I mostly use the default terminal emulator in the desktop environment I use, currently this is the gnome terminal.
What are the main reasons one want to use another terminal emulator? IMHO if I can reszie the window and the font and font size is good or configurable it is fine..
XTerm. I used to use rxvt-unicode, but it only supports 256 colors and gave me grief when I tried to get some emacs color theme working. There's only one thing I miss, which is that rxvt-unicode reflows lines when you resize the terminal, which xterm won't do. Oh and urxvtc starts very slightly faster, but no big deal.
I also looked at kitty, and I like that the author of that one tries to champion new features, like full keyboard support on par with X11 apps. But it takes noticeably longer to start and the latency also feels worse.
I'm liking Warp, Tabby and Wezterm currently. Working on a config for my NixOS Hyprland and planning to see how foot does in comparison. Blackbox was pretty cool, but didn't use it much.
I mean, the Deepin one is gorgeous to look at, but that's not usually my concern if I'm typing in some code. My go to is Yakuake running a fish session, launched with a "Super + #" hotkey combo. Rapid access, easy to use, doesn't get in the way, customisable so it at least looks in keeping with the rest of the DE.