If you are frequently longing onto multiple servers over SSH and have many terminal windows floating over your desktop, this article might be interesting for you. To do away with window clutter, we are going to install Terminix, a tiling terminal emulator which is based on GTK+ 3 and can help you have many terminals stacked into one window. It also supports dragging terminals out of the window to form another stack of terminal, as well as lots of other neat features. some of which we will tryout here. This is by no means complete list of features, this article will concentrate only on features I found most useful.
Installing Terminix on various distros
Terminix requires GTK 3.14 or newer, as well as GTK VTE 0.42 or newer.
On Fedora add copr repository
sudo dnf copr enable heikoada/terminix
and then install from there:
sudo dnf install terminix
On centos, also add copr repository:
sudo wget https://copr.fedorainfracloud.org/coprs/heikoada/terminix/repo/epel-7/heikoada-terminix-epel-7.repo
and then install
sudo yum install terminix
On ArchLinux, add Arch User Repostiroy with terminix and then run
pacman -S terminix
On Ubuntu add ppa:
sudo add-apt-repository ppa:webupd8team/terminix
Update sources list:
sudo apt-get update
sudo apt install terminix
On OpenSUSE you go to the package search page, type terminix, select your version of the OS, add unstable packages and click on one click install button to install it.
How Use Terminix
Terminix is actually very easy to use. It allows you to split the window by laying out the terminals in any way you like. For example
Take notice of those buttons in the top left corner
The first one is for switching the entire window layout, we only have one now. Second button, the plus sign, would add one more session so we have two window layouts. Third button is for splitting the window vertically and and opening new terminal. Last one is for spiting horizontally. So in next screenshots, we see work of last two buttons:
Then we use plus button to make one more layout:
And then on first button we have a way to switch between on layouts much like GNOME 3 desktop switches desktops when you click the Activities button.
If you want to have hotkey and show up same way terminal would show in Quake game or Counter Strike, that is also possible, but you would have to bind your own shortcut. In GNOME keyboard settings set like this:
And every time you press F10 key, the terminix will show up or dissapear. It will remain on top of all windows while you make it disappear by pressing the hotkey again. The tasks you run in terminal wont stop or abort when you make terminix quake window disappear.
It is possible to synchronize input of two terminal windows like this:
Then, when you tupe pwd (or any other command) it executes in both terminals. And in this example, one terminal is on my local machine and other is SSH session on remote server. Pretty cool, isn't it? But be sure to toggle off the little keyboard key when you are done, because it is dangerous if you forget this.
It is possile to set different colors for different terminals. For this, profiles are used. Profiles can be created in preferences section.
When you create new profile, edit it and set new color for it
Then change one terminal window to new profile.
This way you can have for example remote ssh session in one color and your local computer in another. The Terminix github page says that is also possible to make automatic switching of profiles based on the hostname of the server you are accessing trough SSH. I haven't been able to setup this, if you have more luck, write in comments.
We ran trough what I thought are coolest and most useful features of Terminix in this article. Terminix is under constant development and has lot of features so you might find some feature that is not listed here to be most useful to you. Installing and experimenting with it is easy and I hope this article will be useful as a starting point of making your terminal experience more streamlined and enjoying. I know for sure I will keep using Termininx. Thank you for reading, this is all for now.