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.
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!
I don’t know if I’m correct, but in my head, a window manager JUST manages windows. Gnome and KDE also manage windows, but they also contain applications for settings, printing, etc. Desktop Environments also have window managers, but they have more applications on top.
So, just to check I understood:
- “[Tiling] Window Managers” are a very specific tool.
- “Desktop Environments” are broader tools that (may?) contain Window Managers.
Now… the next questions (if you have the patience :P) are:
- is is possible to use a Window Manager without a Desktop Environment?
- how does this influence your choose for the terminal emulator? Ó_ò
Thanks for the answers!
- Yes, you can absolutely use a WM without a DE. A DE is usually just a set of preconfigured and pre-installed applications. If you use a WM like i3 etc. you just get something that draws windows, and no settings and bluetooth applications
- It influences my choosing because window managers usually don’t come with a terminal, and you have to manually install a terminal emulator. But on desktop environments I use the default terminal, although I could also install kitty.
Oooh… I see. I didn’t understand how broad the Desktop Env really are. Is not that they manage “a lot of things regarding the desktop and windows”… is just like a bundle of apps.
Now it’s starting to sound like a sub-distro inside the distros, but I think this is a good point to stop bothering you. Thanks again!
You’re welcome!
For most people, a different desktop environment probably makes a bigger difference than a different distro. They won’t notice things like a different package manager
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.
A really nice reply. Comprehensive, without being loquacious. Most importantly, accurate. Nicely written; replies like this are a joy to come across.
Silva? Are you Portuguese or Brazilian?
Quase que achei que fosse tuga
kkkkk mais um!
Neither, actually. I don’t know why I call myself silva, but that’s not my real name.
Lol thats a common surname here in Brazil. It means jungle in latin so the priests used to give this surname to converted natives.
Interesting. In English, “Silvan” mean a spirit that lives in the woods. It’s often used in literature as a synonym for “elves.”
Probably the same root
That’s what I was thinking, but I noped out of a linguistics minor after a year when I realized it was never going to turn into “learning a bunch of languages” and was instead spending all your time doing sentance diagramming.
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.
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):
- Enter copy mode with Ctrl+b, [
- 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.
ah yes sorry i meant copy to system clipboard.
i succeed in configuring vim so it uses the system clipboard on both local and remote sessions.
i would like to do the same with tmux, but as you said too, it does not seem to be a way.
You absolutely can. You just have to use a clipboard command as the copy/paste. Add this to your
~/.tmux.conf
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xsel -i -b" bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xsel -i -b"
or use your favorite cli clipboard command. Note that those are using the vi bindings; you might have to adapt the config.
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)
- Hyperlink support.
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 wezterm, but there are many good ones
Love it, works nice in my Mac and Linux PCs.
I like my kitty
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)
urxvt
. It works good enough and doesn’t use much memory.This is what i use as well.
foot is great. Simple, fast, and customisable enough for my needs.