Here’s the cold, hard truth about Linux: the terminal is not going to become obsolete anytime soon, no matter how much you dislike it.
Beginner-friendly distributions like Ubuntu and Linux Mint will rarely (if ever) require you to open the terminal emulator, yet they still include it as one of the default applications. After all, the terminal is a constituent part of Linux history, and the concept of command-line utilities is woven into the Unix philosophy. Instead of resisting and avoiding it, why not embrace the terminal and learn how to use it?
If you’re ready to take that step, Konsole is a good starter tool. It’s the default terminal emulator on KDE and ships with every KDE distribution, but you can install it anywhere if you don’t mind the dependencies.
Konsole is a well-balanced application that lets users customize it through dialogs and menus. This is great for beginners who don’t want to edit configuration files just to change the text color, as is necessary with other, usually lightweight terminal emulators. At the same time, advanced users won’t feel slighted when using Konsole because nearly every aspect of the application can be controlled and modified. This guide will showcase the features that make Konsole powerful and teach you how to adapt them to your needs.
A Bit of Motivation
Before we get acquainted with Konsole, I’d like to motivate those who are still not sold on the idea of using the terminal.
Yes, I understand it might feel intimidating if you’ve never used anything like it before. We’ve all been beginners at some point. Besides, the risk of breaking your Linux system with commands is real, especially if you use them without knowing what they do.
However, today it’s much easier to be a Linux newbie than it was, say, fifteen years ago. The web is bigger and there are countless free resources, tutorials and even online courses that help you learn everything about Linux commands. Long gone are the days of poring over tedious text-only documentation: now you can learn to use the terminal with the method that suits you best.
Yes, the terminal might seem redundant and old-fashioned at first. Yes, you could probably use Linux for the rest of your life without ever touching it. Still, consider these points:
- the terminal is indispensable for troubleshooting. Run a misbehaving application in the terminal and in most cases you’ll get an output that will point to the problem
- if you’re seeking help on a discussion board, the text-only output of a command is faster to share and parse than a bunch of screenshots
- the basic set of command-line utilities is more-or-less the same on every Linux distribution, so it doesn’t matter if you’re using elementaryOS and the person who’s helping you has Arch Linux. They can ask for the output of hardware listing commands without worrying whether you have them on your system
- you can run any application from the terminal, and some apps have special options like safe mode which are hard (or impossible) to access from the regular graphical interface
- running applications with elevated privileges is sometimes necessary, and it’s easier to do from the terminal
- actions that require multiple clicks and trudging through confirmation dialogs in an application can often be automated via scripts or simple one-liners in the terminal. That way you can speed up your workflow and “make the computer work for you”
- it gets even better when you create aliases: you don’t have to remember commands or switches, only the word you choose as an alias
- if you want to feel like a hacker or impress your friends with your “mad skillz”, it’s more useful to actually know what you’re doing in the terminal than to just pretend you’re typing commands
Convinced? Great. Let’s find out how to customize Konsole. Note that the screenshots and descriptions refer to the latest stable version of Konsole for KDE 4.1x. The application has been ported to Plasma 5, but it’s still plagued by annoying bugs, so I opted for the older version.
Profiles and Appearance
Profiles are Konsole’s most practical feature. They make it possible to set up as many separate configurations as you want and switch between them in one session, or even use more profiles at once, each in its own tab. You can create and edit profiles in the Settings > Manage Profiles dialog.
Every profile can start in a different directory and have a custom window size. Konsole opens the Bash shell by default, but you can run other shells (like zsh or fish) in their own profiles and tabs, or set up any other command or application to start when you load a profile. This configuration dialog contains various settings for Konsole behavior, so you can declare custom keybindings in the Keyboard tab and control mouseclick actions in the Mouse tab. We’ll return to other options in the next few sections.
The most interesting tab is Appearance. Konsole supports color schemes, which you can create yourself or download for free. You can tweak background and font colors for optimal contrast, and choose the font type and size (Konsole detects and displays only monospaced fonts installed on your system). If you want, you can even set a background image for your terminal.
Apart from individual profile configuration, Konsole has a general settings dialog under Settings > Configure Konsole. Here you can choose whether to display tabs and where to put them, as well as change the look of Konsole’s window titlebar.
If you’re into meticulous tweaking, you’ll be happy to hear that Konsole lets you load a custom CSS file to modify the font, color, and size of tabs and the tab bar.
By now it’s obvious that Konsole supports tabs. There’s nothing unusual about it—tabbed browsing has become a de facto standard for web browsers, and desktop applications like text editors, file managers, and terminal emulators have followed suit. In Konsole, you can rename and detach every tab if you click on it in the tab bar.
Detaching a tab closes it in the current Konsole window and opens it in a new one. This is helpful when you want to move an active application to another virtual desktop. To copy a tab into the current window, use the File > Clone Tab option. If you want an overview of several tabs at once, Konsole offers the Split View option in the View menu.
Split View will copy all opened tabs in horizontal or vertical containers, essentially creating a windows-within-a-window situation. You can select the same tab in every container, but scroll to different positions in each one, which is handy when you’re reading a long file. It’s important to remember that closing a tab in one view closes it in all active views. Konsole also supports Fullscreen Mode, which will cover the panel and all active windows once you press F11. It’s a quick way to hide the desktop!
If you often work with the same directories and find yourself opening the same files in Konsole tabs every day, it’s good to know that you can bookmark all opened tabs as a folder and load them all at once the next time you start Konsole. In a way, Konsole bookmarks replace the Save Session functionality you might recall from your favorite web browser.
Working With Files and Commands
Konsole is a great companion to a file manager—particularly to Dolphin, KDE’s default—for several reasons. First, it has an option in the File menu that opens the file manager in the currently active directory. Second, you can drag-and-drop items from the file manager window into the Konsole window and get a context menu with a set of convenient actions to copy, open, and link files and folders.
If you want to monitor changes in a log or any other file, check the View menu and its Monitor for Activity/Silence options. Selecting this will allow Konsole to alert you via desktop notifications when something happens (or stops happening) in the tab for which you enabled the option. If you do your backups in the terminal, you can use this to get notified when they’re completed.
As with any other KDE application, you can choose the type of notifications for Konsole. You’ll find the dialog under Settings > Configure Notifications.
Aside from tracking the output of a command, Konsole can also save it as a text or HTML file, and print it to PDF or paper. Both options are in the File menu. You can control the scope of exported files by adjusting the size of the scrollback. It can be preset for each profile, or modified on-the-fly for every opened tab by right-clicking and choosing Adjust Scrollback from the context menu.
Sometimes Linux commands produce huge outputs, flashing several hundred lines of code across the screen before you manage to read them. To give you more control over the contents of your terminal window, Konsole lets you toggle Flow Control—an option to pause the output of a command by pressing a keyboard shortcut. Again, you can configure this feature for each Konsole profile.
More Tweaks, Tricks, and Getting Help
Konsole’s strength doesn’t end here. There are plenty more features and configuration options, both big and small, that you can use to turn Konsole into a perfectly personalized terminal emulator. If you love keyboard shortcuts, feel free to define your own, or just use the defaults. For example, Ctrl+mouse wheel will activate zoom, and holding Ctrl+Alt while highlighting text will automatically select columns if Konsole detects them in the output. There’s also the Search feature with support for regular expressions and case-sensitive keywords.
Advanced users can start Konsole with the
--background-mode switch. It will run, but remain invisible and silent, and you can bring it to front by pressing Ctrl+Shift+F12. In case there’s a need to manually edit or backup Konsole profiles, they can be found as simple text files in the
You can discover more about Konsole at your own pace, as you gradually learn Linux commands, or you can just soak up all about it from the official help documentation. There’s an offline version that you can read directly in Konsole, but if you’d prefer a separate PDF file, you can download the Handbook. While preparing this article, I discovered that the Konsole Handbook was missing from the official KDE Documentation website, so I contacted Kurt Hindenburg, the developer of Konsole. He promptly replied and fixed the problem. Kudos to Kurt!
Now when you know that Konsole is maintained by such awesome people, there’s really no reason not to try it. Tell us about your experiences with Konsole in the comments. Already a fan of Konsole? Then feel free to share more tips and tricks with our readers.