What is your favorite terminal emulator.
What is your favorite terminal emulator.
I'm reconsidering my terminal emulator and was curious what everyone was using.
What is your favorite terminal emulator.
I'm reconsidering my terminal emulator and was curious what everyone was using.
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.
Same. I do have gnome on my laptop and the terminal was lacking relative to my KDE desktop, so I ended up making the switch there too
I've been using Konsole since switching to Linux with the KDE 4.0 release. Never felt the need to switch.
Only thing I wish it supported is Tmux control mode.
alacritty
cool-retro-term 😎 to live in retro cyberpunk dreamland
Wow that is actually way cooler than the original terminals. Thx!
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.)
It really does not make sense a terminal consuming 100% CPU, so Alacrittycis my choice as well
Alacritty + tmux!
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.
And it's pretty customizable, without UI stuff. Just pure config files, my favorite.
I ike konsole
Konsole with a side of Yakuake is perfect for me.
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.
Same here - it comes with Gnome distros by default so nothing to install. I keep all the default settings except for disabling the annoying bell.
When I'm using a tiling window manager, I use kitty, because I like its speed and support for font ligatures. When I'm using a Desktop Environment like Gnome or KDE I usually don't use the terminal at all, but if I need it, I use the default emulator.
Sorry for the off-topic question, but I'm still trying to wrap my head around basic linux concepts: you use "tiling window manager" and "desktop environment" as if they were mutually exclusive options. What's the relationship between them?
Thanks!
Window Managers manage windows as the name suggests and control how they are displayed and interacted with. A window manager is one component of a desktop environment which provides other facilities like compositors, task bars, status trays, task switchers, configuration applets, virtual desktops, and perhaps some default applications for basic things like terminal, file management, text editing, connection management, and image viewing. Some desktop environments feature extensive plug-in systems ( extensions ) and vast application ecosystems.
In the early days of Linux, there were no “desktop environments” and you would run a window manager directly over the window server ( eg. X11 ) with applications running directly over the WM. Proprietary UNIX introduced desktop environments like CDE, OpenWindows, and NeXTstep but, as they were proprietary, Linux lacked them. This changed with the advent of KDE and GNOME soon after. These days, the vast majority of Linux users are working with a desktop environment ( probably still one of these two though there are now others ).
A timing window manager in particular is a window manager that allows auto arranging and resizing applications to share the screen ( typically using keyboard commands ). The goal of a tiling window manager is that application views do not overlap and that the full desktop space is used efficiently. A floating window manager in contrast allows windows to overlap and leaves positioning, resizing, visibility, and focus up to the user. The desktop itself may be plainly visible and may even have clickable icons or applets displayed on it. Interaction with windows in a floating window manager is usually done with the mouse. Windows and Mac are examples of the floating metaphor so that is the one most of us are more familiar with. Any given window manager can incorporate both floating and tiling ideas and features but most WMs lean pretty heavily one way or the other.
Technically, a window manager is just a special kind of application. In X11, it is not even required. You can run applications directly without one but, if you run more than one application, you will quickly understand the value of a window manager. The value of a full desktop environment is more a matter of preference. Most people welcome them or consider them essential. Others see DEs as bloat. The middle ground is assembling a desktop experience yourself from a group of applications you select for that purpose from the window manager up.
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.
I've been looking at other options but none-of them feel quite right.
Alacritty:
Kitty:
Wezterm:
Terminator:
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:
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.
You can use zellij for infinite scrollback. If ot takes too muxh space, use compact mode.
Also, I use konsole and it does have hyperlink support, just control-click the links.
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)
I use wezterm, but there are many good ones
Love it, works nice in my Mac and Linux PCs.
I like my kitty
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 :)
i never got the copy part right, what configs are you using?
also, can you copy from a remote (ssh) tmux?
Copying in tmux (assuming default keybindings):
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.
urxvt
. It works good enough and doesn't use much memory.
This is what i use as well.
I almost exclusively use Yakuake nowadays. I like the drop down terminal.
Guake is awesome too
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.
foot is great. Simple, fast, and customisable enough for my needs.
Yakuake, I can't use anything other than a quake based terminal. Because of my work I need 24/7 quick access to a terminal, yakuake is just that
I never got into Quake, but I love the concept of having a terminal whenever you want with a simple press of an F-key.
Alacritty is great, but I switched to wezterm due to ligatures support
Alacritty for me
I'm using foot since I've installed sway and it's just fine ..not a super user to evaluate well
foot
Foot works fine here also.
Super nice, with some "hidden" gems like Ctrl+Shift+o for opening links.
Super nice, with some "hidden" gems like Ctrl+Shift+o for opening links.
Kitty has awesome framerates, easily hitting 90fps pushing 150k - 180k per frame. Alacrity is also dope.
st
is good enough for my needs. I use tmux
for multiplexing, scrollback, and tabs
TMUX is life. Before, I was fighting screen to do what I needed. TMUX just does it and the customisation puts it way above. I can't imagine working on the command line without TMUX.
tmux greatly simplifies my choice in terminals, which now mostly books down to whether or not it supports ligatures. I do nothing in any terminal without firing up tmux first.
Terminator is the one I've been using for a while
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.
Zutty, the Zero-cost Unicode Teletype which the developer describes as "A high-end terminal for low-end systems".
kitty
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.
Nice
I use kitty and I was running at like .9 transparency I think? And after a while it'd cause the weirdest artifacts and ghosting and such on my monitor. I just turned transparency off and it's been fine since. I'm sure it's my monitor and nothing to do with kitty or any other underlying software or drivers. But it was strange.
Yeah, did get these sorts of issues with the same setup (me when im a nixos user). Tested both kitty and hyprland transparency, they were both kinda borked. After some time, tearing commenced and i turned off all transparency.
Anything that supports solarized dark and solarized light theming. It is so much less eyestrain
Tilix
Not sure I'd call it my favorite but it's the one I'm using right now.
I recommend black box. https://flathub.org/apps/com.raggesilver.BlackBox it is the nicest and most intergrated terminal on gnome and I use it daily and have zero issues
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 😅
https://gitlab.gnome.org/raggesilver/blackbox/-/issues/297 it could possibly be this bug. I am not entirely sure. My use case does not feature many hyperlinks so sorry if I got ya excited for something you can't use
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..
Wezterm, which does everything, with a great developer behind it.
Second choice is Konsole: super solid and great rendering.
Aaand tmux with either of those.
xfce4-terminal has transparency and warns when I'm about to paste multiple lines to it.
alacritty. the only downside for me is no ligatures
Dunno if you know about it, but Kitty scratches most of the same itches as Alacritty for me (fast launch and rendering, text config, no UI to deal with), and supports ligatures.
Whatever gets me connected to my tmux session over ssh
I prefer iTerm2 on Mac because it supports ‘tmux -CC’ to transform windows into tabs.
While y'all here:
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'd suggest checking out fish shell.
I know that zsh
has the option to use vim-like keybindings if you're familiar with those.
Bash (and other shells) have readline support which sounds similar to what you want?
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.
St with few patches and personal customizations is amazing.
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.
Been using kitty for a while now, though honestly any terminal emulator works for me.
Yakuake. I've been using it for more than a decade and love it.
I really love Tabby
Tabs, CMD, SSH, Powershell... all included. It has multiple profiles, can be used portable, has themes and Integrations, like one for Docker
Never need anything else imo 😊
Tabby is great, but takes considerably longer to start. When I want a terminal, I want it instantly. Kitty and Alacrity are two of my favorites.
The thing that I love about Linux is choice. To me, Tabby sounds terrible, but I'm glad that it has a community behind it to give people that choice. Whatever works for you!
Could not agree more 😊
xterm. Simple. Gets the job done.
xterm
respect the classics :)
St, Xterm, Terminator - depends on hardware and os.
I'm most comfortable when my window manager and terminal emulator are well integrated and keyboard centric.
I use black box flatpak.
St
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.
Emacs with vterm
Xterm is fine and everywhere.
st
. LukeSmithxyz's fork specifically.
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.
edit: I’ll probably be checking out alacritty
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.
And we shall watch its development with great interest.
Thanks!
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.
Guake is dope!
Basically what Silva said. When I'm going out of my way to install something, kitty. Else I roll with my DE's default, which in my case is usually gnome-terminal.
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.
i used to use urxvt but i had some issues with certain fonts and symbols loading, so i’ve since switched over to kitty, and it works fine for me
I have Guake for passive tasks like music payback or anytime I want a full screen terminal to hold my focus, like when I'm writing in Neovim.
Tillix is my active terminal. Taking notes, active chat sessions, or running a SSH connection. Anything that I want on screen permanently.