Even decades after introducing Graphical User Interface (GUI), it cannot beat the productivity of Command Line Interface (CLI). The same people who struggled with a lack of GUI for some tasks in Linux (or terminal preferred over GUI steps in how-to guides) will soon realize the advantage of the terminal after using it for some time. However, the terminal doesn't have to be a soulless black and white environment you stare at all day. This article introduces a tiling terminal called Tilix and shares some tricks to add fun to your CLI experience.
Tilix is a tiling terminal written in D from
scratch using Gtk-3. Those who are familiar with Terminator can consider this
as a modern replacement for Terminator. Out of the box, Tilix offers the
following features:
- Layout terminals in any fashion by splitting them horizontally or vertically
- Terminals can be re-arranged using drag and drop both within and between windows
- Terminals can be detached into a new window via drag and drop
- Tabs or sidebar list current sessions
- Input can be synchronized between terminals so commands typed in one terminal are replicated to the others
- The grouping of terminals can be saved and loaded from the disk
- Terminals support custom titles
- Color schemes are stored in files and custom color schemes can be created by simply creating a new file
- Transparent background
- Background images
- Quake mode support (i.e. drop-down terminal)
- Custom hyperlinks
- Automatic (triggered) profile switches based on hostname and directory
- Supports notifications when processes are completed out of view. Requires the Fedora notification patches for VTE
- Experimental trigger support (Requires patched VTE, see wiki)
- Experimental badge support (Requires patched VTE, see wiki)
Install Tilix
Debian/Ubuntusudo apt install tilix
Arch
sudo pacman -S tilix
Fedora
sudo dnf install tilix
For other distributions, check the official website.
You may or may not need all these features but having them all improves
your productivity. Let's start with the core selling point of Tilix: tiling.
You can split the current terminal into two vertical terminals by pressing
Ctrl + Alt + R. Similarly, Ctrl + Alt + D split the terminal into two
horizontal terminals. From the menu, you can synchronize the keyboard to enter
the same command on all tiles. I find this handy if I have to SSH into
multiple servers at work. If the width and height of a tile are not enough for
temporary readability concerns, you can maximize it using the maximize button
for that tile.
In addition to tiling, Tilix also offers multiple
sessions. Instead of opening multiple terminal windows, you can open several
sessions and easily switch between them using either the side pane or the
keyboard shortcut Ctrl + Alt + 1/2/3.
Another advantage of Tilix is
its bookmark feature. There are some commands you may use from time to time
but are hard to remember. The best example from my personal experience
is multiple IP addresses to SSH. Though you can use the "alias" command,
mapping all those ten to twenty servers doesn't feel right. Instead, you can
create a bookmark in Tilix for all those hosts to remotely access and easily
log in to them by pressing Ctrl + Shift + B.
Copy-pasting commands
from the web may cause severe side effects if you don't know what you are
doing. Tilix warns you if you are pasting an unsafe text from the clipboard to
make sure you know what you are doing. However, this feature can be disabled
from the settings. Another time-consuming task is editing or cleaning commands
copied from some sites. For example, you may need to change the path in a
script you copied from a website. Usually, people paste the script in a text
editor, edit it, and then copy-paste it into the terminal. Instead, Tilix
provides the advanced paste feature with the shortcut Ctrl + V. It opens a
dialog to edit your command before pasting it into the terminal.
Since
this article is getting longer, I will stop with the Custom Links feature.
Custom Links is an option to apply regex on terminal output. If there is a
regex match, the matching text will be treated as a hyperlink means you can
click on that with the Ctrl key pressed to perform some predefined actions. To
test this feature, go to Preferences → Advanced → Edit.
Add a
regex (Hello\.txt), command gedit $1, and apply the changes. After this,
whenever you find Hello.txt on the terminal, it will be treated as a
hyperlink. If you Ctrl and click on that link, the text editor will open the
Hello.txt from the current directory. Remember this is a plain regex trick. If
the file is not there, the text editor will try to create a new file.
For
more features, play with the Tilix Preferences dialog. In the remaining
article, I will share some customizations I do to make my terminal
personalized.
Font & Terminal Size
I like JetBrains Mono
better than any other font for the terminal. Install the latest JetBrains Mono font and set it as the default font.
I also adjust the default
number of columns and rows to 100 and 24. However, you may like a different
ratio based on your screen resolution.
Color
Select the
Material color scheme and change the Background and Black color to the solid
Black color. Adjust the transparency and dim level according to your taste.
Install Bash Theme
Step 1:
Install oh-my-bash using the following command.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/ohmybash/oh-my-bash/master/tools/install.sh)"
Step 2:
Open the ~/.bashrc file and set the theme to agnoster.
OSH_THEME="agnoster"
Step 3:
Install
the powerline fonts for this theme to render the correct symbols.
Debian/Ubuntu:
sudo apt installfonts-powerline
Fedora:sudo dnf install powerline-fonts
For other distributions, check the installation guide.
There are hundreds of tools to improve the CLI experience but I stop here to keep the article short. I will write separate articles on each individual tool I use and recommend and provide a link to them here.
No comments
Post a Comment