Zellij, a new terminal multiplexer written in Rust

about zellij

In the next article we are going to take a look at Zellij. This is a workspace aimed at developers and any user who likes the terminal. In essence, this is a terminal multiplexer (similar to tmux) written in Rust.

If, due to the characteristics of the tasks that you usually perform, the terminal emulator that you use every day falls short, trying this terminal multiplexer may be interesting for you. Zellij includes a design system and a plugin system that allows you to create plugins in any language that compiles into WebAssembly.

Zellij should be ready for everyday use, but is still classified as beta. This means that we can still find some weird crashes or bad behavior here and there, but that once the developers find it, it should be fixed fairly quickly. However, it is fully functional and can be used for day to day. Only you have to have some patience if eventually there are any problems. In addition, there are also some features that have not been implemented yet, but that with the passage of the updates we hope they will be included.

General characteristics of Zellij

  • Zellij, in addition to using Rust, also provides a large workspace from the terminal and multiplexer, as do tmux and the like.
  • We will find it available for both Gnu / Linux and macOS operating systems.
  • Like other multiplexers, Zellij allows users to divide the terminal into different panels and tabs. But it has tried to differentiate itself from other similar projects offering an interesting way to organize and resize panels.
  • The application itself by default it will find the best vertical or horizontal split distribution. Zellij includes a layout engine that allows users to define a panel map in a yaml file and load it when they start the application. In this way, one can have the panels arranged as desired without having to do all the setup work.
  • As to Its user interface is very easy to use, lightweight, and offers a status bar at the bottom with available keyboard shortcuts. In addition, it will also show us tips on how to use the tool.
  • When Zellij starts, users will notice that they will show available keyboard shortcuts that allow you to lock the layout, access panel options, tab options, resize, scroll, and exit. When you use one of these keyboard shortcuts, the hint bar switches to available keyboard shortcuts for panels, such as creating a new panel, moving between panels, closing the active panel, and so on.
  • The keyboard shortcuts, as well as the initial layout used by Zellij when starting up, can be set up. You can take a look at the default keyboard shortcuts.
  • Zellij also has some special panels that are not terminal. These panels are called plugins. Zellij comes with some pre-built plugins like Strider file explorer. Zellij uses Webassembly and WASI to load these panels and give them access to the host machine.

Download and install

To install the binary of this program in Ubuntu, we will simply need download the Gnu / Linux package from the project website.

download the zellij package from browser

We can also use wget to download the package, this can be done by opening a terminal (Ctrl + Alt + T) and typing in it the command:

download from terminal

wget https://github.com/zellij-org/zellij/releases/latest/download/zellij-x86_64-unknown-linux-musl.tar.gz

Once the download is finished, we will have to extract the downloaded file:

unzip downloaded package

tar xzvf zellij-x86_64-unknown-linux-musl.tar.gz

Then we are going to go to the folder in which the package was extracted. The next step will be install the binary in / usr / local / bin using in the terminal (Ctrl + Alt + T) the command:

install zellij

sudo install zellij /usr/local/bin

After the installation, we only need to write zellij In the terminal:

testing zellij

To configure Zellij (keyboard shortcuts, layouts, and plugins), users can consult the documentation offered on the project website. Zellij is built by an enthusiastic team of volunteers. Anyone who wants to join, regardless of their level of experience, can follow the instructions indicated in their GitHub page.

Add Comment