Are you a system administrator, Linux power user, or someone who just spends a lot of time at the command line? Chances are your choice of terminal emulator says something about you. Do you prefer something lightweight? Full of features and customizable options? Or do you just use the default that ships with your distribution?
If you're not familiar with terminal emulator clients, essentially they are graphical applications that give you shell access to your machine. By using a text-mode interface to your computer, you can unleash the true power of Linux and the many applications that provide fast, efficient, and customizable control over its every function, not to mention many utilities that system administrators and developers rely on for their day-to-day work. To get to the shell from your system's graphical interface, you need a terminal emulator.
For comparison's sake, I included screenshots of each terminal running htop in its default configuration. Of course, every terminal application allows at least some degree of customization, so just because it looks a particular way on my machine doesn't mean it has to look the same on yours.
Want to try these all out yourself? On my Fedora machine,
$ sudo dnf install gnome-terminal guake konsole terminator tilda xterm yakuake
ensured I had them all, although the GNOME terminal emulator was already installed by default.
The GNOME terminal application certainly has one thing going for it—since I'm a GNOME user, it's installed by default on every machine I use. That said, it's actually a nifty piece of software. Like many of the terminal emulators in this roundup, it supports colored text, a variety of themes, transparency, mouse interaction, multiple tabs, and one feature I can't stand not having: the automatic rewrapping of text upon resizing. And it supports multiple profiles, so I can safely play around with settings without losing my current configuration, or set different profiles for different tasks. GNOME Terminal also makes links clickable, which is a feature that—once you get used to—is hard to live without.
As a GNOME component, the title bar nicely styles to match whatever GTK theme I might be using on the rest of my system, and like most GNOME components, the default terminal emulator is available under the GPL version 3.
Guake is the first of a few terminal emulators with a "drop-down" style interface, emerging from the top of your screen with the press of a hotkey. It's also, admittedly, my favorite terminal emulator and my daily workhorse on my home machine. Guake and other terminals with a drop-down interface are styled after the terminal included in Quake, and my '90s nostalgia may come into play with my love for this format.
Among the many features in Guake, I like how it comes with so many themes out of the box, including my personal favorites, Solarized Darkand Tomorrow Night, which I gravitate back and forth between. It's got just enough options to enable all my favorite features, and the default hotkeys (F12 to launch, F11 for full screen) are part of my muscle memory now. Guake is hosted on GitHub and available under the GPL version 2.
Konsole is the default terminal emulator shipped with KDE, so if you're a KDE user, you're probably already familiar with it. As a KDE component, it provides the embedded terminal for many other KDE applications, including Konqueror, Kate, KDevelop, and others. Its features are similar to the default GNOME terminal, but what I really appreciate is the bookmarking function for directories and SSH. It also provides split terminals, which are helpful if you're not comfortable using screen or tmux to accomplish this functionality in the terminal window itself.
Konsole is made available under the GPL version 2.
Terminator is a terminal emulator that is designed to make arranging terminals within a single window easier, with features including a number of keybindings, saving of layouts, and the ability to type to multiple terminals at the same time. It mirrors much of the behavior of the GNOME terminal, so many of the options found in the GNOME project can be found here as well.
Terminator is open source available under the GPL version 2.
Tilda is another Quake-style drop-down terminal emulator, designed for Gtk. Its name is taken from the tilde key, the default key for invoking the Quake terminal. Tilda's default interface is very minimal—no window title, border, or anything—but this can be changed in the preferences if desired. It features a number of options for everything from setting key bindings, setting default size and color, scrolling preferences, and more.
Tilda is open source available under the GPL version 2.
If xterm feels old school, that's because it is. Born in 1984, xterm is the default terminal emulator for the X Window system, eschewing the need for any graphical toolkits that might otherwise sit on top your window manager. This might make it a good choice for a very minimal Linux installation with a graphics system. But this minimalist approach also comes with a corresponding lack of features; it's pretty much just a terminal. Still, for the right situation, xterm still has a place.
Xterm is available under an MIT license.
Yakuake is another drop-drown terminal emulator, this one a part of the KDE family. Short for "yet another kuake," Yakuake could actually be thought of as a front end to Konsole (listed above), and many of its features are similar. If you like Konsole but prefer the Quake-style approach, this is the terminal for you. Like Konsole, Yakuake is made available under the GPL version 2.
This is not an exhaustive list. Here are some other terminal emulators that have dedicated followings, either on their own or as a part of their corresponding window manager.
- Terminology aims to emulate xterm as closely as possible. Works on Linux, UNIX, BSD, and more; uses Enlightenment Foundation Libraries (EFL); and is licensed under BSD-2.
- urxvt is a terminal emulator for the X Window system based on rxvt version 2.7.11 CVS and aterm. It's licensed under GPLv2.
- xfce4-terminal, like GNOME terminal, is based on the Vte terminal widget library and is licensed under GPLv2.
- PuTTY is an xterm terminal emulator built into an SSH and telnet implementation for Windows and Unix platforms. It is released under the MIT license.
- st aims to be a very lightweight terminal emulator. It's licensed under the MIT/X Consortium license.
- LXterminal is the standard terminal for the Lightweight X11 Desktop Environment (LXDE) desktop environment. It is GPLv2 licensed.
- Sakura is a GTK and VTE-based terminal emulator with few dependencies. It's licensed under GPLv2.
Each of these terminal emulators comes with its own set of features and selling points. Which one is your favorite? Take our poll at the top of this article, or let us know in the comments below if your preference didn't make the cut.
Editor's note: This article was originally published in November 2015. It has been updated in October 2017 and March 2021 to include several additional options that you might want to consider trying out.
Are you interested in reading more articles like this? Sign up for our weekly email newsletter.