Top 7 open source terminal emulators for Linux

Do you spend a good amount of your time at the command line? These terminal emulators will help make it a better experience.
Register or Login to like
Register or Login to like
Terminal view

Jamie Cox. Modified by Opensource.com. CC BY 2.0.

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.

GNOME terminal

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.

gnome-terminal

Guake

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.

guake

Konsole

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.

konsolee

Terminator

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.

terminator

Tilda

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.

tilda

Xterm

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.

xterm

Yakuake

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.

yakuake

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.

Jason Baker
Former Red Hatter. Now a consultant and aspiring entrepreneur. Map nerd, maker, and enthusiastic installer of open source desktop and self-hosted software.

95 Comments

xfce4-terminal, it's very like gnome-terminal, faster, using less resources and dependencies, and its pull-down mode acts like guake or tilda (without their random bugs).

I think Gnome-terminal does it for me. Simple and always updated. http://gtbensmag.com

In reply to by spayder26 (not verified)

I have two favorites myself.

I have used Konsole for a long time, as you say, because I use KDE and Konsole is the default. But I definitely like its features, especially the tabs and the ability to drag a tab off the window and create a new window with that tab; and then replace the tab on the original window. This appeals to me as a reasonably organized Virgo.

I recently learned about Terminator when one of our readers mentioned it in a comment on one of my articles. I find Terminator to be more flexible in terms of having multiple panes open in a tab, but less so in terms of the implementation of the tabs.

I switch back and forth between these two terminal emulators as the mood strikes me.

Thanks for a great article that has opened my eyes to some other options, as well.

I use Konsole most of the time, probably because it's the KDE default and integrates with Dolphin and such. I do, however, like many features in Konsole, specifically it's ability to be customized to fit whatever theme I have in mind. Thing like using transparency along side a tiled background picture for the terminal windows can yield a very pretty looking terminal.

One thing I wish it did differently is the way the bookmarks are accessed in the menu. My favorite thing to do is hide the menu and scrollbars in Konsole and this makes it impossible to access that feature. That menu should be part of the rightclick menu.

Honestly though, beyond all the aesthetic stuff I'm pretty much indifferent. Xterm gets a little spartan for me simply because it lacks the copy/paste feature we're all used to and supports only the middle click style, that bugs me a little bit. I also don't like holding control/alt to access the menus where a simple rightclick should suffice.

I'm also not a fan of the pull down "quake" style terminals, I never use them. Other than that I am pretty much right at home no matter what terminal emulator I'm using.

I've been using Terminator for years now and it's perfect for my needs. Ever since I installed it, I have never looked back. Using 0.8 transparency so I can see whatever I have opened under it, green text on a dark background because that makes me feel like a h4x0r of course, and ZSH shell because it's awesome. Irreplaceable combination.

On my Linux laptop, I use Terminator, and on my Windows box (yes, yes....) I've not found anything yet superior to PuTTY. It does what I need, and its' copy/paste integration is super-nice.

Try git bash - it's a lot more natural for someone coming from Linux. Just install Git for windows, it comes packaged with it.

In reply to by Ruth Holloway

@Jason: Terminator maintainer here. I'm not sure I recognise some of the description for Terminator. For sure we do not run on Windows. There is confusion sometimes with another Java based terminal with the same name unfortunately. That one does run on Windows. This one is Python and runs on Linux and Mac only. I think some of the features you attribute to our Terminator may actually be from the other one, but the screenshot is definitely ours.

Hi Steve, sorry for the confusion. Having two terminal emulators by the same name is indeed confusing! I will update accordingly.

In reply to by Steve Boddy (not verified)

I wanted to the poll, but the text is so light I can not read it. I am using Google Chrome browser, Version 46.0.2490.80 (64-bit).

I've been using Terminology for quite a while now. Been a huge fan of it. It's especially nice for graphical things like displaying images, thumbnails, and previewing videos. Also, being able to create arbitrary tabs and splits is quite nice.

I use ROXterm for the one terminal that I use the most because of the drag and drop features, and for everything else, I use st by the suckless community. St is by far the fastest and lightest terminal I've ever used, and ROXterm has all of GNOME terminal's features without any of the bloat.

Rxvt Unicode

lxterminal for me, it's lightweight to the point and does some tricks that others have stopped doing (like transparency).

Terminology is where it's at!!

I've been using xfce4-terminal for several years. It's nice that it's so light on resources, but these days I don't really care about that so much. What I like is how it looks. The text is really nicely anti-aliased, and the colors are easy to set precisely, but most importantly, I can make the cursor a red block. Most of my vi colorschemes have black backgrounds (vividchalk, candy, etc) and when I'm looking at an ocean of code, my eye can always find the current cursor position instantly. This on windowmaker and FreeBSD. I try other terminals once in a while and always go back to xfce4-terminal.

I've been using yakuake for so long, I don't remember my life without it :)

My favorite feature from Yakuake is a search function, very handy when I have to locate some output in my very long scroll buffers.

There's also transparency, multi-tab, keyboard navigation between tabs (e.g. I have assigned Alt+1 through Alt+0 to go directly to tabs 1 through 10), tab splitting, etc.

I am working on a bit more extensive review, listing also properties. For example, the list of requirements I have is: * different profiles * different WM_CLASS option * tabs * kbd navigation between tabs * can set title of tab * url selection ...

Candidates there are many more than the above: roxterm and lilyterm I used a lot, mate-terminal, lxterm, evilvte, aterm, eterm, pangoterm, pantheon-terminal etc.

I recommend everyone giving roxterm a try, I prefer it over gnome-terminal and terminator.

I use roxterm also. It has tranparency and properly implements the geometry switch:
roxterm --geometry "90x24-0-0"

This way I can open windows in all four corners. Almost all of the other terminals can not do that.

In reply to by Norbert Preining (not verified)

Termite. Not as barebones as urxvt and quite easily configurable. Contrary to most terminal emulators it can open hyperlinks via keyboard shortcut.

On Windows I use MobaxTerm.

Honestly, I have no preference. I use whichever terminal emulator ships with the OS I'm using, or simply ALT+F1 and use tty1 (or whatever). Administration of remote Unix & Linux servers doesn't benefit from being glamorous. I just want to get the job done. I will give props to MobaXterm on Windows, however. It's fantastic, and moved me away from KiTTY as my day-to-day terminal app.

For daily work I use:
- on Linux: terminator
- on OSX: iTerm2 (I've not found anything so configurable on Linux, unfortunately)
- on Windows: cmder packacge - Windows with some basic GNU tools may be usable ;)

For Linux, there are some nice WIP projects:
- Enlightment terminology
- finalterm

Jason, I tried to comment once already, but either it is stuck in moderation, or it vanished.

I'm the maintainer of the Terminator as pictured, and I think you have confused the description with a different program that also chose that name. The one pictured has never run on Windows and is written in Python. The other one is written in Java and does run on all three. I think some of the features you describe are also from that other program. I'd appreciate it if you could amend the article so I don't start getting asked how to run on Windows :-)

rxvt-unicode(urxvt) in daemon mode (urxvtc)

I've been working for the last 10 years under windows laptops at work (I do not understand why the companies still pretending to support linux/unix systems from windows workstations when it is obvious that we would be more comfortable/productive using our own flavor of linux/unix on it) and still using putty combined with putty manager that let me use tabs but at home I'm running yakuake and konsole as my main terminal emulators for daily tasks.

I really appreciate if the companies approve using our own linux flavors or at least some of them as our main OS on our workstations...

I have been using Konsole for years, I like the tabs, themes, and integration in KDE. I tried Yakuake and quite liked it, but it never really quite fitted in with my workflow. It looks like there are some great additions, and it is probably time to give a few others a whirl. Any of them feel like luxury after being sat on a Windows box for 20 minutes debugging something in a terminal - still not found anything there I like to use...

xterm + i3 + vim + tmux

The BEST combination :P

GNOME Terminal, full screen (so much of the stylings are not visible anyway), usually running tmux inside.

I use my own (written as an exercise initially), but I'm sure any of the above is better. I was surprised not to see putty in the list? Anyway, my preference goes for leaner tools as a rule.

Eterm on enlightenment. More power, less fluff.

Has a terminal i use pterm , that is the terminal or console version of putty. It has the same function to capture the session trafic into a log file with host, date and time of the capture ;-)

sakura is super small, and has all the features I could want.
But, honestly, bash completion from tty or xterm or any emulator usually servers all my needs

PAC

Wow, lots of poor users stuck on gnome-terminal.

gnome-terninal frustrates me every time I have to assist a colleague who runs Gnome, because it seems the developers must be so inexperienced with shell interpreters that theu don't know the ALT+letter combinations such as ALT+b, ALT+f. There can be no other explanation why these don't work by default in gnome-terminal. The behaviour can be disabled, but none of the other good terminals (konsole, yakuake, even PuTTY or Connectbot) are this brain-dead.

I like GNOME Terminal plus tmux and zsh. It's even better with a tiling window manager like xmonad.

We are linuxers and spend a ton of time using terminals. Go to the apple store, grab a retina macbook (don't buy it or anything don't worry) and download iterm2. Open it up, look at it:

We don't have anything that good, and that is ridiculous!

I tried iTerm2 on a MacBook during my senior year of high school and I remember not being that impressed. I don't really understand all the praise it gets. When people talk about it being customizable, do they just say that due to its gui? Most terminal emulators either have a config in your config folder or take from .Xdefaults or .Xresources. I don't really think there's a difference in customizability.

In reply to by Jacob Gadikian (not verified)

I use the xfce-terminal, but I miss the SunOS cmdtool, which had a splittable pane, so that you could review past commands in one of the panes, and paste them into the other pane. Much easier than scrolling one pane back and forth. Does any terminal out there provide a splittable pane, similar to the multiple pane capability found in text editors such as nedit and geany?

I moved from terminator to terminology, has all the support for splits backgrounds etc that you would want from terminator but is significantly faster (you can notice text is appended quicker) and lighter. I also use the image previews from time to time.

urxvt + tmux + vim.

Lots of problems with the list.. Defaults probably aren't worth mentioning, and if they are mentioned they should be combined into one entry. Same goes for the dropdown terminals.

Terminator was a solid mention, and xterm could _probably_ be considered separate from all the default DE terminals, although I don't know if it should be on the list at all. Shocked and disappointed to see urxvt (rxvt-unicode) not on the list. I feel like it's where most power users end up. I've also heard of Termite being fairly adored.

Most of the time i use SSH Secure Shell from a windows system to access my (l)unix systems. This covers my needs for a shell. On RHEL i don't care much which shell i use because i just want the basic and no other extras.

I voted gnome-terminal, but I need to add that I *cannot* live without tmux on top of that. I could probably use any other terminal emulator, as long as I had my trusty tmux!

I agree gnome-terminal + tmux is a winner combination!

In fact, the reason gnome-terminal is great is exactly because it gets out of the way and lets tmux do its window/pane magic.

In case you access serial TTY devices the ultimate combination is gnome-terminal + tmux + tio

tio - A simple TTY terminal I/O application - http://tio.github.io

In reply to by Steven Bakker (not verified)

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.