I've always just used konsole or gnome terminal. Never really looked into what else is available. Tried cool-retro-term the other day, but the novelty wore off pretty fast for me.
Curious to see if there's a terminal someone swears by and refuses to use anything else.
I tested kitty and alacrity when I first found out about advanced term emulators. I liked kitty more, but I don't remember why. I use the kittens all the time. It's super convenient to play a video or display an image in the terminal. Kitty works on most distros. I wish it worked on windows, too, so I could use it at work.
I used to install VS code for every new install and now I just stick to Kate. Although the storage impact is minimal, a lot of the dependencies for KDE apps are already present if you are running KDE as your desktop env.
I love the features of fish but the colors are hard to read on my terminal screen when there is blue text sometimes. Wish I could change the default colors of fiah
A terminal is something like a DEC model Vt220, or IBM 3270. These are physical machines with a keyboard, and a display. Most often the display was a CRT, but some were just a printer, I supposed some must have had a LCD but I've never seen one. A few did have a mouse, but that was rare. They might look like a computer, but they do not have a CPU (or they do but the CPU is very under powered). The point is you can have 100 cheap (cheap as in 4x the cost of a modern PC, without factoring in inflation) terminals connecting to an expensive powerful computer (expensive as in millions of not inflation adjusted dollars, powerful as in a modern smart phone is faster by nearly any measure). Every terminal had some special commands that programs could use to do something more fancy than plain text, but different ones had different abilities.
These days a powerful PC is cheaper than any terminal could be and vastly more powerful than those old computers, so it doesn't make sense to have one except as a collectors item. However terminals themselves did leave a useful of program design. Most command line programs know how to control a terminal to do some pretty printing. Thus we often use terminal emulators which let our computer pretend to be one of those old terminals. The DEC vt100 for whatever reason ends up being the most commonly emulated terminal when someone says terminal emulator - there really was a model vt100 terminal at one time.
Note that a web browser counts as a terminal emulator by the above definition. Nobody thinks of them that way, but they fit.
They are called emulators because "Terminal" used to mean a full-screen text interface to a mainframe. The functionality has carried on, which is why terminals behave pretty much the same on any platform. You don't use your system's regular text fields in a terminal emulator, for example.
A terminal is a physical device like a VT100. When people refer to a terminal today it's almost always a terminal emulator running on a TTY, ssh on a PTY, a login shell or a GUI program.
A terminal is the thing that looks like it might be a computer, but nobody is home, it's just connected to a modem. Or, maybe, if you're lucky, The Computer of your university.
A terminal emulator is, well, an emulator, so you can use a 1970's shell, right there on your computer, just like you can emulate and play Pong or Space Invaders...
I was considering Foot, it is fast (renderwise and in interactive use) and the dev seems like an awesome person. But it doesn't support ligatures. I'll watch the issue and give it a shot when it's implemented.
That's fair. I don't think I personally use ligatures anywhere and I'm not experiencing any issues with foot after using it for a few years so I might just have to stay blissfully ignorant on this one ;)
I also love wezterm, but because I was able to easily disable all of it's keyboard shortcuts and only re-enable those few I want (ctrl+shift+V, F11, ctrl+"=", ctrl+ "-").
I use tmux for everything and I really love that I can "debloat" the shortcuts and don't have to care about colliding keybinds when configuring things like neovim.
I use the broadcast, zoom, grouping, and the guake/yakuake style dropdown.
Also it has layout switching like xmonad, ie you can ctrl + space to cycle pane layouts.
Using alacritty for years on all linux devices, it does what its supposed to do. Recent change to toml configuration was a bit of hassle. But with the latest release the migration is no problem anymore.
Honestly didn't even know they migrated to toml. I upgraded and it said yaml wasnt supported anymore. I used alacritty migrate and only had to remove a couple deprecated options and it was fine.
It's why I keep it. It's set and just seems to work well.
st. It just works. I'm always opening and closing terminals, and 90% of the stuff I use have's a TUI. st launches before I can even notice, under 4GB of RAM, and the entire install is less than a MiB.
I've been scrolling with no hope to see st anywhere but here it is! Only mentioned twice for now but this little guy deserves so much love. Yes, you have to build it (i.e. patch it) but that's actually it's beauty. You get the exact terminal you want, nothing more, nothing less. If you're looking for power and lightweight this is your guy.
Coupled with tmux and you're the God of your system :)
I've really grown to like yakuake. I always have a sorta "main terminal" where I have a tmux session going and now I do that in yakuake so it's available on all desktops and easily put "out of the way" when I don't need it.
Gnome Terminal. I've tried out a few others, but at this point I'm kind of partial to just using the default with good integration with the rest of the desktop. Pop, in this case. I'm curious if they'll adopt something else for the terminal in COSMIC.
Edit: They just recently announced COSMIC Terminal, so that's a yes. I look forward to trying it out. It's based on alacritty's framework.
Since you sound like you know what's going on with Pop I'll ask: what is Cosmic? I understand it's a DE, but is it replacing Gnome entirely and a new DE built from the ground up? Seems like every update assumes you know more than I do :)
Oh, don't get me wrong, I'm mostly talking out my ass. But as far as I know, it's a new DE that's being written in Rust using the iced toolkit. It looks like they're aiming to be Wayland native without the X baggage. It's been a while since the last full Pop release (20.04), so it will be nice to get the rest of the OS upgraded as well.
I spend my day working on it. Multiple tabs, multiple vertical and horizontal panes, good keyboard shortcuts, profiles, themes... What more do you want?
Kitty for both X and Wayland - I like the customization (as in I already have the config file that I have backed up and can just plop it in), it works perfectly on any VM (used it on sway, hyprland, i3, awesomewm), though honestly I don't see much of a difference between the terminal emulators. There's literally no wrong choice or meaningful difference in my experience at least, but admittedly I just use a terminal emulator to run commands, neovim and system file editing.
Yeah same here, at some point I ended up settling on Kitty and now I'm used to it and there's no reason to change, but pretty much any terminal emulator will do the job just fine.
So the “terminal” is the basic CLI that you use in the single-user, text-based mode. Terminal emulators are graphical programs that run in multi-user, graphics-based mode, and they hook into the terminal and allow you to access it inside graphical sessions. Some examples would be alacritty, kitty, urxvt, konsole, or terminator
I like the slide-down ones so Guake or ddterm (a Gnome shell extension). I always remap caps lock to control and the “Caps Lock” + tilde shortcut to get to the terminal is such a part of my muscle memory that I think I’d lose my mind trying to change at this point.
Konsole, but only because I'm on Plasma. I really don't rven like it that much, but... well, it's a terminal, it does terminal things so I'm more than OK with it.
On xfce, I would youse xfce-terminal.
anything is fine as long as basic stuff works - like ctrl/shift+insert (tho it's a thing I had to manually setup in Konsole 😅)
Contour currently, but might consider that new one by the cosmic team. Contour is a bit minimalistic like alacritty or foot, yet it ligatures (a weird dealbreaker of mine). Goes well with zellij (pretty neat stuff, if u ask me, although breaking sixel is unfortunate, but they're working on it).
Used to use kitty and weztetm, the latter was overall less confusing (generally faster, no need to use quirks for ssh). And then wezterm broke on Wayland :D
Kitty the vast majority of the time but slowly using Ghostty more and more as it improves. Sometimes use Tabby and have been looking into Wave recently. I also use the x-terminal-reloaded package in the Pulsar editor for a dock terminal if im doing something in it at the same time.
Formerly I used Terminator, because I liked to split the screen. Then I moved to Kitty because having a GPU-powered terminal sound amazing, and now I'm using gnome-terminal because I'm trying to get back to simply and default.
I was an rxvt/urxvt fan for nearly 20 years, then Alacritty for a while. Nowadays, I just use gnome-terminal and I've been happy with it. Looking forward to trying Prompt though.
5 days later: Prompt is the bee's knees! Highly recommend for anyone wanting a snappy, feature-rich GTK4 terminal, especially if you work with containers.
I primarily just use whatever the distro has(gnome terminal most often), though I use iTerm2 with omz on my work MacBook and really enjoy the customizability with tabs, panes, hotkeys, and especially triggers.
Can anyone recommend a good equivalent on Linux?
I see a lot of others listed here with many features. I'm open to trying a few to find a good alternative, though I don't want to move all my eggs to a basket only to find out it doesn't support some feature.
Konsole and xterm, although I haven't had to use xterm in a while. Actually, circa 1997 I used kterm, the predecessor to konsole. ;)
Straight up Linux ttys are also quite common for me. Most old school distros still let you escape to the terminal, with CTRL-ALT-F1 or similar. I haven't distro hopped in a long time, so I don't know if other distros still do this.
I've always preferred Konsole because it handles several tabs pretty well and I keep a bunch open to my servers. The only issue I have with it is that it has a habit of detaching tabs if I click on one while my computer is running something heavy in the background.
Sakura. I recently did a little survey of what was on hand for Debian Stable, and that's the one I liked best. The most important thing to me is right-click paste, because I do that incessantly.
Kitty, although I was using Alacritty until last week. I got an update that had a bug related to launching Alacritty full screen. I’m in a terminal all day so I couldn’t be bothered with it. I installed kitty and adapted my configuration pretty easily. I can’t tell the difference between them except for the icon.
I use Yakuake most of the time. It's a Quake-style drop down terminal thats always available. I find it to be convenient for the vast majority of the terminal stuff I do.
When I need to edit long files or something, tho, I usually use Kitty, since the quake-style terminals tend to get in the way sometimes lol. It's not really a unique thing to Kitty or anything, but I like how you can split one window into multiple terminals.
I use 3. I never use anything integrated into an IDE for some reason, never started and probably never will.
Yakuake as drop down terminal 90%
Black box for nice looking full screen terminal for full screen.
Dolphin with emulator on bottom for niche things
If I could only have one for the rest of my life I'd be torn between Yakuake and Konsole. I love Konsole though, used it for years and is all round great for sticking with the DE aesthetics and integrating with themes.
Terminator: Very customisable, for example multiple layouts (ie splits, and even custom command per split per layout), and also multiple profiles which are your choice of background/transparency, colours, fonts, scrolling etc.
I use alacritty and I’m very very new to Linux. I actually found that working on the config files for alacritty helped me a ton with learning how to approach config files in general. So advanced maybe but simple enough to teach new users a ton of useful things.
There are a small number of terminal emulators I would be happy to use as daily drivers and most of them have been named here but my default is kitty. It supports everything I need and a lot I don't and doesn't have any showstoppers. All the modern terminal implementations are performant enough. I used real terminals like vt-100s and vt-220s. Everything we have today is awesome by comparison. We fetishize performance and features too much. Once you have something that works there isn't much reason to change IMO.
I'm using the ddterm gnome extension, and it's been the best I've tried so far. Lots of customization, very few bugs, and does exactly what you need it to with no bells or whistles to distract you.
I keep a Gnome Shell instance always running with a Screen session. However, what I actually use to run CLI commands is Emacs Shell, built-in to Emacs.
Emacs Shell has most of the bells and whistles you get from things like Fish shell. So I like to use Dash, a minimal POSIX shell that is much lighter weight than Bash, Zsh, or Fish. Dash provides no features -- no tab completion, no history, no line editing -- and I have Emacs add all of those features on top of Dash for me. It is amazing what a good, scriptable terminal emulator can accomplish.
Emacs Shell can be scripted using the same scripting language it uses to script the editor, file browser, window manager, and everything else. So you can script the shell to search for regular expressions and make things clickable with the mouse, or only display portions of output, creating simple interactive views around shell commands. You can bind certain click buttons or keystrokes in the editor or file manager to run shell commands in new windows. You can script the shell with "expect"-like behavior (automatically input responses to certain prompts). You can capture and collate the output of multiple commands running in parallel.
st. Fonts look great and I've even been able to add a vim mode for scrollback including selecting and copying text.
If I need something fast( usually on a new system) that's in most distros repos and automatically installs all it's dependencies( and doesn't have to many like gnome terminal and konsole) I tend to use sakura, though xfce terminal is also pretty good.
xfce4-terminal has always been my go-to terminal. It may not be the lightest or the best, but it does have some neat built-in features like opening a drop-down window....
For those kitty users, have anyone been able to use fonts not in the list kitty support? I only use Terminus (OTB) fonts on terminal, and when trying kitty out, I found no way to get it to use Terminus (I could only select between those supported by kitty).
Kitty can’t use bitmap fonts because of how it draws to screen & bitmap fonts don’t scale. You would need a different terminal for bitmap fonts or choose a different font.
It looks like, though OTB (opentype bitmap fonts) are different than plain bitmap fonts, and are actually supported by pango. Alacritty allows me to use Terminus OTB fonts for example. There are other true type fonts which are also sort of my plan B, which are not supported by kitty either, as mentioned, I wanted to see if there's a way not just to select between the list kitty offers, which is sort of limited. At any rate if not Terminus, I don't really like much my plan B true type fonts much...
it seems to be what sway recommends, therefore i tried it, and ended up liking it. one of the main features i love is how it lets you open links by pressing CTRL+SHIFT+O and selecting them with the keyboard.
also, i don't like having a bunch of stuff in one window, since i prefer to let my window manager manage the windows, instead of having a terminal multiplexer or the emulator itself manage window placement.
with that, i use foot in multiple separate windows, one for each program. this works for me because foot has a server mode, where each window is a client, making resource usage lower.
the only (small) feature i'm missing with foot is font ligatures, which i'm fairly sure it lacks. i wouldn't mind using another terminal emulator. i've used kitty, alacritty, konsole, wezterm, etc. before and i think they're all pretty great in their own ways.
Termius because somehow I glitched the free trial for like 8 months and love having all the hosts saved and synced across devices. The android app is pretty damn slick. Can save frequent commands and has a password clipboard thing, probably not the right way to describe it. That said, if I'm just opening a local sesh on my Pop!_OS desktop I use the bundled one for that.
It doesn't matter to you. There's all sorts of reasons it might matter to other people like right click support, SSH profile management, how it handles tabs, and on and on...