Top Five reasons I use Konsole terminal emulator
The most important tool for all Linux SysAdmins is the terminal emulator we choose. There are many from which to choose and all have features that make them favorites for their users. A terminal emulator is a software program that emulates a hardware terminal. The function of any emulator is to provide access to the command line of the local computer, thus allowing the user to enter commands and view the results on the terminal screen.
The Konsole terminal emulator in Figure 1, is a graphical terminal emulator program that runs on any Linux graphical desktop environment like KDE, Cinnamon, LXDE, GNOME, and others. I use it on my Xfce desktop. Konsole is the default terminal emulator for the KDE/Plasma desktop but, like every other terminal emulator I’ve tried, it runs on every desktop I’ve used.
My needs
My needs for a terminal emulator are those of a SysAdmin. I work on many tasks different on multiple hosts so I need several terminal sessions open simultaneously in order to accomplish that. My choice of terminal emulator is rooted in my need for flexibility in my work and having many options for managing multiple terminal sessions.
I usually need to view multiple sessions at the same time. And I don’t want to search through a large number of open windows on my desktop to find that one I need to work on now! That means I need access to many terminal sessions in a single window on my desktop. In addition to its other features, Konsole allows me two methods for doing exactly that. They are, therefore, the first two reasons on my list.
My five reasons
1. Tabs
Tabs are found in many programs and Konsole has them for the same reason–they make switching between pages in a window easy.
Figure 1 shows a Konsole window with four tabs. Each tab contains one or more terminal sessions. All of the tabs have a yellow underscore and the selected tab has a blue overscore making it easy to determine which tab is selected. Click on the image to open the larger version. The colors will be probably different for you due to factors such as the desktop you’re using and its color scheme, as well as the color scheme you use for the terminals. I like to use amber on black for my own best visibility.
Each tab has a name generated by Konsole using a rule set that can be easily changed. You can also set a static name for each tab; I typically use names like “Development” or just “Dev.” Just double-click the tab you want to change.
I usually have multiple tabs open, but the details can vary. For example I usually have one tab open on the local host, my primary workstation. I also usually have between two and four tabs open to other hosts on my network. Sometimes I have a tab or two opened to remote hosts—as in not on my network and geographically separate. Some of those tabs may be open as root and others as non-root users.
There are times when I want to detach a tab from the current Konsole window and place it into a window of its own. It’s easy because all I need to do is to drag the tab onto an empty space on the desktop and drop it there. Tabs can also be dragged to their original window. If there is only a single tab in the source window, that window will be destroyed when the tab is dropped onto the target window.
You can click an empty spot on the tab bar to open a new tab, or you can click the New Tab icon on the toolbar. I usually use the keyboard combo Ctrl+Shift+T to open a new tab. There’s also a New Tab icon on the left edge of the tab bar itself. You can also use Ctrl+PageUp and Ctrl+PageDown to navigate through the open tabs.
There may be a limit to the number of tabs that can be open in the Konsole window, but I haven’t found it. The practical limit is whether you can read the titles in the tabs you do have open.
2. Panes
You’ve already noticed that Figure 1 shows three panes in the selected tab. This split view shows one tall, somewhat narrow window pane on the left that contains the results from a command line program. There are two window panes sharing the right portion of the tab. The htop system tool is running in the top pane and the bottom pane shows the results of the df -h
command. This ability to split the tabs into multiple panes is one of my favorite features and I use it constantly.
Splitting the current panel can be done from the menu bar or the toolbar, but I find it easiest to use the keyboard. The Ctrl+Shift+( combination creates a vertical split of the current pane, and Ctrl+Shift+) creates a horizontal split. Using Ctrl-Shift in combination with the arrow keys enables changing the focus between the panes. You can also use the mouse to click on the desired pane in the active tab.
Like the tabs, there may be a limit to the number of panes that can be opened in each tab, but I still haven’t found that either. Again, the practical limit is how well you can see the contents of the pane and perform your tasks.
3. Stability
It’s true that all of the best terminal emulators are stable. But this is an important quality and deserves a mention.
Basic stability means that Konsole never crashes. However it goes way beyond that. For me, stability means that I can always trust Konsole to perform exactly as it is supposed to. Konsole’s many updates over the years have not caused it to break and, as my current favorite terminal emulator, that means I can always count on it to act as I’ve configured it to.
4. Notifications
I run many tasks using Bash scripts or Ansible playbooks, most of which run anywhere from a few minutes to over an hour. Konsole allows me to set a notification that no activity has occurred in the selected tab for a specified period of time, such as when a long process has completed or is silent due to a hang or error of some sort. I can also set a notification that tells me when something does occur, such as when a long-running script with no other output throws an error or completes, thus causing the command prompt to display.
This allows me to go do other tasks without the need to check the progress of the process every few minutes. I just wait for the audible notification as well as the pop-up notification on the desktop.
5. Configurability
As Spock said, “There are always possibilities.”
Like almost every aspect of Linux and the other open source tools and programs we use, Konsole is amazingly configurable. Much of its power is due to its ability to configure almost every aspect of how it works and looks. This power is accessible in multiple ways. As I mention above, tabs can be managed using the keyboard, the menu bar, the icon bar, and the tab bar itself.
Much of the configurability of Konsole is exposed to the user via the Profiles. Figure 2 shows the “Edit Profile” page for the “Amber” profile. Konsole has one default profile, “Built-in,” but It’s possible to create some of our own to meet various needs. Several color combinations are provided and can be easily selected and new ones can be created just as easily. The default profile can’t be modified.
One of the configuration options on the General tab of the Configure dialog can be activated so that moving the mouse pointer over any terminal in the active tab moves the focus to that terminal. I don’t like that, but you may find it suits the way you work.
How I use Konsole
The need to connect with multiple computers and to have multiple command line tasks going on many of them as well as on my personal workstation, makes using multiple terminals a necessity. Konsole offers many options for accomplishing that.
I often have a Konsole window open on one Xfce desktop for working on one project and another window on another desktop where I’m working on a different project. Within each window I have tabs open in which I’m working on things related to that project. One tab may be used to display man pages, while another to perform configurations as root, and yet another tab to run the command line program for testing.
When testing, sometimes it’s helpful to watch the system performance with htop or glances in one pane while observing the progress of the program in an adjacent pane.
Summary
Konsole is the best terminal emulator I’ve ever used—and there are many excellent ones available.
The combination of tabs and window panes along with its extensive configurability makes Konsole the perfect choice for my needs and the way I like to work. And that’s the thing: we all work differently. Konsole allows us to each work the way we do best. Konsole provides many powerful and interesting features that make it incredibly flexible for just that reason. This terminal emulator enhances my ability to perform the tasks I need without getting in the way. I can have as many terminals open as I need, while organizing them in task-related ways that make sense at any given time, and still keep my desktop relatively uncluttered.
If you haven’t tried Konsole, you should.