All the fun of a tiling window manager right on the console, without needing a GUI at all. What's not to like?
All the cool elite console-based hackers are using tiling window managers – or these days, tiling Wayland compositors – to juggle multiple terminal sessions. But you can do the tiling right there in your console! Isn't that even more elite? We looked at half a dozen ways to tile your terminals.
GNU Screen
The granddaddy of them all is GNU Screen. Last year, we wrote about version 5, but last month version 5.0.1 appeared. It's a GNU tool from the 1980s, so although it runs on almost everything, it's also cryptic and rather hard to use. For instance, using it on your local machine, it considers sessions and windows to be separate things. This means it's easy to open a window with nothing in it. It also handles things like baud rates over serial lines. If that still matters to you, you have our sympathies, but for most of us it's as historical as dial tones. Screen is powerfully confusing, but on the flip side, that does offer lots of opportunities for easy introductions and even cheat sheets.
One elegant summary of Screen we saw is that you connect from your work computer to a server miles away, type some commands, leave one working while you disconnect – then go home and reconnect from your home machine to the same running session.
Tmux
A more modern and smaller alternative to Screen is Tmux. It can handle both multiple local terminal sessions, and multiple remote sessions to multiple remote machines. With the help of the external tmuxp session manager, you can save whole sets of connections, reload them later, or switch between them.
This complexity is arguably an example of "worse is better" design, which is one view of the philosophy behind Unix itself. It means Tmux is unavoidably complicated. To master it, you also have to master a set of concepts. It has enough options that there is an entire book about it. It also has a whole list of plugins and a plugin manager to go with them.
Byobu
Help is at hand, though. Former Canonical product manager for Ubuntu Dustin Kirkland wrote Byobu (named after byōbu, a kind of Japanese folding screen). Byobu is able to handle sessions on its own, but if screen or tmux is installed, Byobu can act as a wrapper around them, providing a much friendlier front end, with simpler keystrokes and a handy status line. (In our testing, if you have both installed, it defaults to using Tmux.)
If you want to keep using the industrial-strength tools but want a friendlier front end, this is it.
Zellij
Zellij is a modern tiling terminal multiplexer. It's named after a traditional Moroccan ceramic tile, which also led to Portuguese azulejaria.
The latest Zellij snap, with its slightly more helpful status bar and colourful docs – click to enlarge
Zellij the program is implemented in Rust, and offers a much simpler and easier UI than either Screen or Tmux – and it holds up pretty well against Byobu, too. There are native packages for some Linux distros, FreeBSD, and macOS, and an old version for NetBSD. Some of the usual big name distros are missing, though. For example, as far as we could find, there are no native .deb packages for the greater Debian and Ubuntu family, but Ubuntu users can install a snap package. There's no Flatpak because it doesn't handle command-line tools well. If you prefer to avoid snap, then you'll need to install the Rust compiler and Cargo and build it yourself.
DVTM
If you lean toward minimalism and the idea of large, complex programs and wrappers around them to make them easier makes you itch – or you're not keen on installing either snaps or significant dependencies to build a Rust app – then dvtm may be more your thing.
It's smaller, simpler, and slightly easier to use than Tmux, partly because it does much less. Tmux and Screen can both handle disconnecting and reconnecting to sessions on other machines. Dvtm doesn't have that built in, although if you need session management, it can work with a partner program called abduco, which provides comparable functionality.
- /e/ OS 3.0: Slightly less clunky, slightly more private
- KDE Plasma 6.4 ships with major usability and Wayland improvements
- LibreOffice adds voice to 'ditch Windows for Linux' campaign
- As RHEL clones hit version 10, Rocky and Alma chart diverging paths
Twin
Massimiliano Ghilardi's Twin has been around for over 20 years, although it has yet to reach version 1.0. Twin is short for Textmode Window Environment, and it's in the repositories for Ubuntu Noble. Like some other projects, Twin brings a Borland TurboVision-style TUI to the Linux console – or terminal emulator.
Twin is something else, literally, as although it can, it doesn't just do tiling or terminals – click to enlarge
Like this vulture's preferred terminal text editor, Tilde, it offers an interface reminiscent of IBM's CUA – and it even supports mouse input, if you install the gpm package first. It can tile terminal windows, but also handle overlapping ones. We found it struggled a little to keep track of the mouse in a VM, and the usual CUA-style keyboard shortcuts didn't work for us, but there's immense potential here.
It would be interesting to see Twin expand and absorb some of the functionality of other tools, such as a CUA text editor, a CUA file manager, and something like Tmux with mouse support and a CUA keyboard UI. Many of these are out there, such as Tilde, and file managers like Ranger and F2 Commander, but they lack a uniform UI. Long, long ago there was an attempt at a text-only Ubuntu-based desktop called INX, and Twin would fit well there.
Micro Terminal Multiplexer
If all of these sound like way too much for too little reward, and you just want tiles and nothing else, then mtm may suit. It's by Rob King, whose Commodore-64-themed homepage is striking.
We couldn't find packages for Mtm, so you'll have to download the source and compile it yourself. To do so on Ubuntu, you must install the ncurses development libraries first:
sudo apt install lib64ncurses-devWhich is the best?
As ever in the Linux world, it depends what you want. Screen is hard work, but it runs on just about every Unix-like OS. Tmux is nearly as widespread and does everything a 21st century user could imagine. Both are somewhat arcane, but Byobu helps a lot.
For us, Zellij is the easiest to use, if you don't object to the packaging or the dependencies. We really appreciate its more helpful UI, but if you consider that cluttered, it also offers a choice of compact views.
There are of course dozens of such tools if you do want to do your tiling at the GUI level. The Arch Wiki lists 14 of them and 12 such Wayland compositors. Some terminal emulators also integrate some form of multiplexing, such as Terminator and Tilix. If you want that but Rustier, and on BSD, macOS, or Windows, Wezterm may be for you. ®
Bootnote
If the name Dustin Kirkland seems familiar, it appears his Ask HN question may have influenced Canonical's later decision to drop Unity and its convergence dream.