The terminal emulator is a venerable but essential tool for computer users. The reason why Linux offers so much power is due to the command line. The Linux shell can do so much, and this power can be accessed on the desktop by using a terminal emulator. There are so many available for Linux that the choice is bewildering.
The terminal window allows users to access a console and all its applications such as command line interfaces (CLI) and text user interface software. Even with the sophistication of 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 still best performed with the command line.
My favorite terminal emulator continues to remain Terminator and rightly earns its title as a Killer Open Source Application. But I am always keen on experimenting with other terminal emulators. One that I followed closely was Final Term. Sadly, the developer discontinued work on the project, partly for personal reasons, and also because the project depended a lot on Mx, a Clutter-based widget toolkit that fell by the wayside. Fortunately, there are many other inspiring terminal emulator projects to follow. Be warned, some of the utilities below are in an alpha or beta stage of development.
Most of these applications are also supported under OS X and Windows.
Terminology is a fast, lean and visually enhanced open source terminal emulator.
Terminology is the terminal emulator from the Enlightenment desktop environment. It was designed to use EFL (Enlightenment Foundation Libraries) and push the boundaries of what a modern terminal emulator should be. Terminology has the main functionality of any terminal emulator including support for backgrounds, themes for layout and design, multiple tabs, block text selection, link handling, preview icons for files, support for X11 and Wayland etc.
- Tab support with live thumbnail content
- Themes for layout and design
- Custom background support. Backgrounds can be bitmap, scalable vector graphics, animated gif, or even a video (!)
- Bitmap fonts support
- Command mode commands
- URL, file path and email address detection and link-handling
- Text reflow
- Audio keyboard
- 256-colors support
- Cool visual bell
- Inline display of link content
- Fraktur support
- Keyboard shortcuts
- Works in X11, Wayland and in the Linux framebuffer
License: BSD 2-Clause License
Terminix is an exciting tiling terminal emulator that follows the Gnome Human Interface Guidelines. It has been in development since November 2015.
It uses a GTK+3 component called the VTE to perform the actual terminal emulation. Many popular Linux terminal emulators use this component.
- Multiple panes
- Layout terminals, split them vertically or horiziontally
- Custom links
- Notifications – sends a notification to the desktop when a long running processes ends and Terminix is not visible
- Drag and drop terminals
- Badges – a feature that displays specified text in the background of the terminal. They can be used for a variety of purposes including acting as visual reminders or as a way to display the terminal title when the title is disabled
- Triggers, these are regular expressions defined by the user that when matched against text output by the terminal trigger an action
- Transparent background image support
- Persistent layouts
- Supports running in a Quake-style mode where it appears at the top of the screen and can be toggled on or off as needed
- Supports the use of command line actions to have the running instance execute an action that you would typically do through the user interface
- Automatically switches profiles based on certain conditions
- Supports themes for configuring the color scheme of the terminal; each theme is stored in a file
- Use variables in the various titles and names it allows to be configured. This enables the title to better reflect the current state of the application, session or currently focused terminal
- Localization in multiple languages
This is definitely a terminal emulator to watch. The project has some excellent ideas to add to the emulator including bookmark support, enabling SCP transfer of files, and adding support for tmux control.
There are packages available for popular Linux distributions including Debian, Ubuntu, Fedora, openSUSE, Arch Linux, CentOS, and more. Only 64-bit packages are available.
Terminix is written in D, a systems programming language with C-like syntax and static typing.
License: Mozilla Public License, version 2.0
What makes Alacritty one to watch? First, Alacritty is a GPU enhanced terminal emulator. This may be helpful if you generate a lot of output in the terminal. Second, this utility is written in Rust, an intriguing programming language from the Mozilla stable.
Alacritty concentrates on performance; its aim is simply to be faster than other terminal emulators. To achieve this, it sacrifices many features found in popular terminal emulators such as tabs and scroll back.
This terminal emulator runs on Linux and OS X. Windows support is also planned. There are currently no packages available for Linux; this is bleeding edge software. Instead, users need to complete a fairly straightforward installation compiling the source using rustup, an installer for Rust.
License: Apache License, Version 2.0
extraterm is a rich, colorful, and modern multi-platform Python-based terminal emulator that offers some exciting and radical features. Handy tips are shown at the application startup which are a friendly touch. The author identifies the purpose of the application is to:
drag the terminal emulator kicking and screaming out of the 80s and into modern computing.
A brief summary of the interesting features in this emulator are:
- Multiple tabs
- 2 modes:
- Normal mode – extraterm acts as a traditional terminal emulator
- Cursor mode – navigate the screen and the contents of the scrollback in a text editor fashion. Cursor mode and frames enable users to edit outputted text and prepare complex commands. Copy and paste without having to leave the keyboard
- Text editor features such as multiple cursor editing
- Place ‘frames’ around the output of commands
- Shell integration supporting bash, zshell and fish. It unlocks powerful features including frames around command output, reusing command output and in-place editing of text
- Pop up command palette where commands can be seen, searched, and executed
- Previous command output can be used as input for new commands
- (Basic) vertical split
- Display images in the terminal
- Backwards compatibility with existing terminal based programs such as xterm
- Keyboard based selection
- 3 kinds of themes: terminal, text & syntax, and user interface
The software supports Linux, OS X and Cygwin on Windows. Besides the source code, the developer provides 32 and 64 binaries for Linux, as well as binaries for OS X and Windows.
License: The MIT License
to create a beautiful and extensible experience for command-line interface users, built on open web standards
Hyper owes a lot of its speed and functionality to the power of hterm underneath, a JS library that provides a terminal emulator.
- Extensions to add functionality. They are universal Node.js modules loaded by both Electron and the renderer process
- Hot-load and hot-reload plugins
- Window cascading
- Foreign keyboard support – type characters such as
- Good internationalization
Hyper runs on Linux, OS X, and Windows. There are binaries for Debian and Fedora, and an AppImage is available for other Linux distributions. Binaries can be downloaded for OS X and Windows. Definitely one to watch.
License: The MIT License