Konsole is the default terminal emulator for the KDE desktop environment. Its appearance and interface follow a considerably different pattern to the archetypal xterm, especially in the realm of configuration. While xterm, being the first of all X applications, is extremely mature and has changed little in the last decade, Konsole has been under active development since its genesis in 1996.

There are surprisingly few codebases for X terminal emulators. Most terminal emulators, including Eterm and gnome-terminal, are based off the rxvt source. Konsole, on the other hand, was implemented from scratch. In the early days of KDE it competed with kvt, an rxvt derivative, but by the time of KDE 2.0 Konsole was the sole terminal emulator.

Konsole emulates the same VT102/VT220 terminal commands as xterm, providing an addressable cursor, the full ANSI character set, and the rest of the usual 'smart terminal' features. It also provides mouse support to text-mode applications using the same interface as Linux console mouse support. It stores the last 1000 lines from the terminal and accesses them with a scroll bar (the amount of scrollback is user-configurable).

One important feature of Konsole is its support for multiple terminal sessions in one terminal window. Before Konsole 1.3 (KDE 3.2), switching between these was done through a somewhat counter-intuitive 'taskbar' method using Konsole's toolbar, but Konsole 1.3 features a proper tab widget instead. Complementing this feature is support for custom 'sessions', using a particular combination of Konsole appearance and the command run. An example of this is the 'Root Console' session, which runs 'su' instead of the user's default shell. Konsole also by default has session settings for Midnight Commander, both under the regular user and under the root account

Where xterm is configurable through a simple menu system and through text-based configuration files, Konsole contains a user-friendly graphical configuration interface. Fonts, colours, keyboard types, and the terminal size can be configured through the menus and these choices can also be combined into 'schemas'. These schemas can be chosen through the menus or they can be associated with session settings to be applied whenever a given session is activated.

In addition to the standalone Konsole app, the Konsole terminal emulator appears at several places throughout KDE due to its availability as a KPart. Konqueror has the option for a Konsole pane as well as a graphical file management pane, and both Kate and KDevelop have facilities for embedded shells that are based on Konsole.

Konsole is not without its disadvantages. The main disadvantage is that, through the comparative weight of the KDE/Qt toolkit it depends on, it starts more slowly than xterm and rxvt when the KDE environment is not running. This also has an impact on its memory usage, although most of the memory used is shared library memory that is held in common between Konsole instances and other KDE applications running concurrently. When used under KDE, though, this disadvantage is mitigated by Konsole's integration into the rest of the desktop environment.

On modern Unix-like systems, Konsole, along with gnome-terminal, xterm, and rxvt is one of the most common terminal emulators in use. While it lacks the time-tested maturity of xterm and the simplicity of rxvt, it integrates better into desktop environments and provides a number of useful features that both of the older terminals lack. Konsole is included in the kdebase module of all KDE releases.

Information gleaned from the Konsole online manual and the website at http://konsole.kde.org/ .
This writeup is copyright 2004 D.G. Roberge and is released under the Creative Commons Attribution-NonCommercial-ShareAlike licence. Details can be found at http://creativecommons.org/licenses/by-nc-sa/2.0/ .