Terminal Emulators

kitty – hardware-accelerated terminal emulator

Last Updated on August 11, 2021

One of the reasons why I became interested in Linux was the allure of the command line. The command line offers advantages day-to-day because of facets like its scalability, scriptability, simple design, and simple interface. At the command line, there’s enormous power at our fingertips. Its continuing flexibility and power remain big draws to this day. It’s perfectly possible to do everything at the command line with the exception of comfortable web browsing, and a few specialized tasks.

It’s true that some people consider the command line to be arcane and obsolete. They prefer graphical interfaces. And for non-technical people and beginners, few dispute good graphical user interfaces make life easier. And I love GUI software. But who doesn’t want the best of both worlds?

The power of the command line can be accessed on the desktop by using a terminal emulator. The terminal window allows the user to access a console and all its applications such as command line interfaces (CLI) and text user interface software. Even with sophisticated modern desktop environments packed with administrative tools, other utilities, and productivity software all sporting attractive graphical user interfaces, it remains the case that some tasks are best undertaken with the command line.

The terminal emulator is a venerable but essential tool for everyone using the command line. There are so many terminal emulators available for Linux that the choice is, frankly, bamboozling.

What distinguishes kitty from the vast majority of terminal emulators? It offers GPU-acceleration combined with a wide feature set. It’s targeted at power keyboard users. It’s billed as a modern, hackable, featureful, OpenGL based terminal emulator.

kitty is written in C and Python. If you’re looking to learn C and/or Python, check out our recommended free C books and free Python books curated by Erik Karlsson.

It’s not the only hardware-accelerated terminal emulator though. For example, Alacritty featured in our Essential System Tools article. Alacritty is an excellent terminal emulator, so kitty has healthy competition.


The developer provides binaries for Linux and macOS. And many Linux distributions provide a convenient package. But it’s very easy to build the software from source. Clone the project’s repository and run the make command.

$ git clone https://github.com/kovidgoyal/kitty
$ cd kitty
$ make

Run kitty with the command:

$ ./kitty/launcher/kitty

Next page: Page 2 – In Operation

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Other Features
Page 4 – Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
Emilio Fontana
Emilio Fontana
4 years ago

Well written review.

Some other points to consider …

“kitty can only use monospace fonts”

For actual doing work in a terminal (not just something to look pretty in a screenshot) why would anybody want other than a monospaced font?

Even In the simplest of cases, vis file listing (eg ls -aFl), columns of information would no longer line up.

Is the xterm on your memory usage graph with or without TeK window support which it has been claimed in the past causes xterm to be more of a memory hog?

And why not also include rxvt (original version not the same as unicode-rxvt urxvt) which always claimed in its manual page as being one of the most memory efficient of terminal emulators.

Also urxvt (unicode-rxvt) is not so bad for running multiple urxvt windows as would seem from the single instance because it comes with a urxvtd (daemon) with which multiple urxvtc (client) instances can be fired up.