Home Terminal Emulators How To Install And Use Terminator Terminal Emulator In Linux

How To Install And Use Terminator Terminal Emulator In Linux

Getting Started With Terminator Terminal Emulator | Overview | Features | Installation

By Karthick
Published: Updated: 3.9K views

When I first switched to linux I was looking for a terminal to replace the gnome default terminal mainly due to the tiling feature. I tested a few terminal emulators and the Terminator seems to be a perfect fit for me. In this detailed tutorial, we will learn what is Terminator, Terminator features, and how to install and use the terminator tiling terminal emulator in Linux.

What is Terminator Terminal Emulator?

Terminator is a tiling terminal emulator for Linux that allows you to layout terminals in any fashion by splitting them horizontally or vertically.

It supports multiple tabs, drag and drop terminal panel, keyboard shortcuts akin to tiling window managers and saving layouts and profiles. It is also extensible through plugins.

Terminator is started as a small project with a few hundred lines of code back in 2007. With the help of community contribution, it now has its place in the linux terminal space.

Terminator is written in Python and offers a great set of features to be productive in the terminal. The two main features of the terminator are the tiling window and broadcasting.

The tiling window allows you to create horizontal and vertical splits without the need to create a new tab. The broadcasting feature allows you to type a command across all the opened terminal windows at the same time.

Terminator Features

Some of the other notable features of the terminator include

  • Full customization support through UI and config file.
  • Horizontal and Vertical split support.
  • Synchronized inputs between terminals. Commands typed in one terminal will be automatically replicated in other terminals.
  • Customizable layouts.
  • Customizable keybindings.
  • Custom titles.
  • Drag and Drop support to reorder terminal.
  • Smart copy and putty-style paste.
  • Functionality can be extended using your own plugins written in python.
  • Supports multiple profile configuration.
  • Custom URL handler.

Install Terminator in Linux

Terminator can either be installed directly using the operating system's default package manager or you can also clone the source code from github and manually install it.

Heads Up: The recommended way is to install the terminator directly from the package manager since it takes care of installing dependencies.

The following commands will help you to install terminator in your favorite linux distribution.

To install Terminator in Alpine Linux, run:

$ sudo apk add terminator

To install the Terminator in the Arch Linux, and its variants such as EndeavourOS and Manjaro Linux, run:

$ sudo pacman -S terminator

To install Terminator on Debian, Ubuntu and its derivatives, run the following command:

$ sudo apt install terminator -y

For Ubuntu 20.04 and above terminator can be installed using PPA too.

$ sudo add-apt-repository ppa:mattrose/terminator
$ sudo apt-get update
$ sudo apt install terminator -y

To install terminator on Fedora, RHEL, CentOS, AlmaLinux and Rocky Linux, run the following command:

$ sudo dnf install terminator

To install the terminator of FreeBSD run the following command.

$ pkg install terminator

How to Use Terminator?

Once you launch the terminator you should see a window similar to the below image.

Terminator Terminal Window
Terminator Terminal Window

Context & Grouping Menus

From the main window, there are two menus available to be accessed.

Context Menu

The context menu can be accessed by "right click" on the mouse. There are a total of 5 sections in the context menu.

  1. Copy and Paste
  2. Open tabs, Split terminal horizontally and vertically.
  3. Close the terminal.
  4. Zoom & Maximize Terminal.
  5. Scrollbar, Preferences, Encoding & Layouts.
Terminator - Context Menu
Terminator - Context Menu

Grouping Menu

You can access the grouping menu by clicking the icon on the top left-hand corner of the terminal. Grouping allows you to combine multiple layouts into a single group.

Using the broadcast option, if you type in one terminal it will be typed across all the terminals. This will be useful when you are working with multiple servers and wish to run the same command on all the servers simultaneously.

Terminator - Grouping Menu
Terminator - Grouping Menu

Horizontal & Vertical Splits

You can create horizontal and vertical splits either from the context menu or from the default keybindings.

Context menu:

Context Menu => Right Click => Horizontal split
Context Menu => Right Click => Vertical split

Keybindings:

CTRL + SHIFT + O => Horizontal split
CTRL + SHIFT + E => Vertical split
Terminator - Horizontal & Vertical Splits
Terminator - Horizontal & Vertical Splits

When working with multiple splits you can either move between the splits with the mouse or through keybindings.

To move between the splits either use "ALT + ARROW KEYS" or "SHIFT + CTRL + TAB".

Terminator - Grouping

As stated already, grouping allows you to group multiple terminals in a single group and broadcast the commands as you type.

Create a New Group

You can create new groups and map the terminal window. Now when you type the command in the active terminal window it will be typed across all the terminals in the same group.

Create New Group
Create New Group

I have created a new group called "devservers". Once you create additional groups you will see a couple more options enabled.

Groups in Terminator
Groups in Terminator

Take a look at the below image. I created three vertical splits and added the first and second split as part of the devservers group. The third split is part of the default group.

Broadcast Group
Broadcast Group

The color on the terminal bar helps you identify which is an active terminal and which terminal is part of the defined group and which is not.

  • RED COLOR => Active terminal window.
  • BLUE COLOR => Part of the same group.
  • GREY COLOR => Not part of the same group.

When I type any command in the active terminal, the same will be typed automatically on all the terminals part of the same group. Refer to the below image on the first and second split.

Broadcast Groups

If you wish to broadcast to all open terminal windows irrespective of groups choose the "broadcast all" option.

Broadcast All Group
Broadcast All Group

Remove Groups

You can remove a single group by selecting "Remove group name" from the menu or remove all the groups by selecting "Remove all groups".

Remove Groups
Remove Groups

Terminator Customization

You can extensively customize the terminator either from the preference or directly in the config file. The config file is located under "$HOME/.config/terminator/config". Whatever customization you make in the UI will be automatically modified/added in the config file.

Heads Up: Take a backup copy of the config file before making any changes directly in the config file.

To access the UI, "right-click -> preferences". You will see the preferences UI similar to the one shown in the below image.

Terminator Preferences
Terminator Preferences

There are 6 tabs in the preferences UI. Let’s go through each one of them.

1. About Section - Access to Documentation

Terminator has detailed documentation hosted in readthedocs.io. You can search for it directly on the web or launch it from the about section by clicking on the "Manual" icon.

Terminator - Documentation
Terminator - Documentation

2. Plugins Section

From the plugins section, you can activate any existing plugins. Terminator also provides you the flexibility to create your own plugins.

All the custom plugins should be under the "$HOME/.config/terminator/plugins" directory.

Terminator - Plugins
Terminator - Plugins

3. Keybindings Section

Terminator comes with keybindings for almost all the actions you can perform as part of your workflow.

Terminator - Keybindings
Terminator - Keybindings

If you wish to set a new keystroke for an action, double-click on the keybinding for that associated action and type the keystroke. Make sure the keystrokes are not already mapped to different actions.

4. Profiles Section

The profiles section lets you set the color scheme, fonts, font size, cursor shape, transparency, and scrollback buffer size.

The "Default" profile comes with the terminator. You can either customize it or create your own profiles.

To add a new profile "Profiles -> Add -> Name ".

Terminator - Add & Remove Profiles
Terminator - Add & Remove Profiles

You will see the "profiles" option added to the context menu which shows the list of profiles you created. You can select the profile you wish to set from there.

Terminator - Switch Profiles
Terminator - Switch Profiles

Let’s go through some of the important customization options.

Under the general section, you can set font, font size, and cursor shape. If you need to copy the text when selected then enable "copy on selection" option. If you wish to disable the annoying red-colored title bar, disable the "show titlebar" option.

Profiles - General Settings
Profiles - General Settings

Under the Command section, you can choose the run the shell as a login shell. You can also set a custom command to run when the terminal is launched with this profile.

Profiles - Command Settings
Profiles - Command Settings

Under the Colors section, you can set the foreground and background color schemes. You can also create a custom color scheme from the "custom" option.

Profiles - Colors Section
Profiles - Colors Section

Under the Background section, you can control the terminal background. By default, solid color is set but you have the option to set an image as a background or create a transparent background.

Profiles - Background
Profiles - Background

Under the Scrolling section, you can set the scrollback buffer size.

Profiles - Scrolling
Profiles - Scrolling

5. Global Section

The global section controls the appearance and behavior of the terminal. This is where you can set some of the interesting features offered by terminator.

Terminator - Global Settings
Terminator - Global Settings

Let’s go through some of the important features.

  • Window State - It controls which mode the terminal will be launched. Available options are Normal, Maximized, Full-screen, and Hidden.
  • Always On Top - When this is enabled, the terminal will always be at the front even though you switch to other applications.
  • Hide On Lose Focus - When you hover the mouse out of the terminator then the terminal will be hidden from the screen.
  • Windows Geometry Hints - When you resize the terminal window the window geometry will be displayed in the title bar.
  • Putty Style Paste - This will allow you to paste by clicking on the right mouse click which is similar to putty style.
  • Tab Position - You can set tab positions to left, right, top, bottom, or hidden.
  • Terminal Title Bar - The color scheme of the terminal title bar can be set under this section.

There are other options in the global section that can be enabled or disabled depending on your preference.

Terminator Configuration File

Till now whatever configuration changes we discussed will be written to the terminator config file. When you want to retain the same configuration across different machines, then you can backup the configuration file to a central location like github and export it.

To view Terminator config file, run:

$ cat ~/.config/terminator/config
View Terminator Configuration File
View Terminator Configuration File

Heads Up: It is not recommended to make changes directly in the config file unless you know what you are doing. Also, it is recommended to take a backup before making any changes directly in the configuration file.

Conclusion

Terminator is great for those who work with multiple terminals and want to manage them efficiently. It is one of the popular terminal emulator choice of developers and power users who work with Terminals extensively.

Have you tired Terminator? Please share your thoughts on this in the comment section below.

Resource:

You May Also Like

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

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

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More