50

What is the different between Tmux and Terminator? I currently use Terminator which allows me to add more shell in same screen by splitting them horizontally or vertically.

I read about them in some articles but I'm still not able to figure out the main difference.

I want to know what features I'm missing if I don't use Tmux. I'm a front-end developer. I mainly use command line to use git commands only.

1
  • Just the basics: Terminator is a terminal. It is a program you launch when you want to get a terminal going and type terminal commands and run terminal programs. Tmux is a terminal program that you run from a terminal, such as Terminator. Mar 23 '17 at 16:01
33

Terminator is easy to install and it does exactly what it's supposed to do - it can split terminal windows both horizontally and vertically, according to user's requirements. It also allows to keep multiple tabs opened in case splitting one window is not enough.

Tmux lies somewhere between Terminator and screen, combining ease of use with basing on the plain terminal only.

Here are the advantages of tmux over Terminator:

  • Portability - tmux works on all systems able to handle plain, old terminal.
  • Scriptability - tmux can be scripted, so that setting up windows and panes takes nothing more than one or two keystrokes.
  • Server-client architecture - tmux can be used to share sessions between users.
  • Tweaks and options - both tmux and Terminator are easy to get with, but it's tmux that allows to go further and offers wide range of configuration hacks.1

1Source: Łukasz Wróbel

5
  • Thanks for the answer. I will have to read more. I even don't know what is "Screen" What do you mean by "tmux works on all systems able to handle plain, old terminal." Can i use oh-my-zsh with Tmux? Jun 22 '14 at 7:14
  • 1
    Screen is a full-screen window manager that multiplexes a physical terminal between several processes, typically interactive shells.
    – Mitch
    Jun 22 '14 at 7:16
  • 1
    What do you mean "tmux works on all systems able to handle plain, old terminal." We don't work on multiple systems at a time Jun 23 '14 at 17:02
  • It means that it can be used in different environments, and the ability to move across platforms.
    – Mitch
    Jun 23 '14 at 18:55
  • 2
    tmux is a terminal multiplexer so it lets you switch between several programs in one single terminal. terminator is a tool for arranging terminals. So you can keep using terminator and run tmux inside it, pretty much the same way you can use it with gnome terminal or any other terminal emulator.
    – emont01
    Sep 10 '14 at 1:19
24

To add up with all the answers said about the question. I have been a user of both Terminator and Tmux, but right this moment I switched to tmux in xterm. My experience has been great over the decision because ;

In tmux i can:

  • Predefine layouts, and with these layouts I can use attach commands which will run in each specified pane and then attach some key bindings to activate some predefined layout.

  • Reassign the default key bindings (as said, it's scriptable) so I can make my vim key bindings and make the experience even better.

  • Some learning experience from zooming, copying to and from the clipboard, to configuring your terminal colors and more.

  • Customizing the look and feel is in your hands. Using scripts and third party scripts you can customize tmux to look like and entreprise IDE ie. (powerline, screen sharing and predefined layouts as said above).

  • Screen Sharing FTW, Say you work with multi workspaces and have multiple terminals open in different workspaces but there is a tmux window in workspace 1 and you need that window to be available everywhere, with tmux link-window you can have that window available in all your workspaces and it's awesome!

Did i also say tmux is a Terminal multiplexer and not a Terminal emulator like Terminator, xterm, termite, urxvt etc? This is important to Note because then you can use different terminal emulators and stil share the same tmux windows in emulators you prefer to use.

The experience is so creative, and you can also check this guy called Gotbletu on YouTube he has lots of tutorials on tmux.

Here is an image of my code layout, which I only have to press (Ctlr + a -- as the modified mod key) and alt + c to get it starting.

tmux screenshot

2
  • 2
    Great screenshot! What were you using for vim statusline?
    – Anwar
    Nov 25 '16 at 10:31
  • 2
    @Anwar Thank you. It's been a longtime since i answered this question. So i made an update and updated the image. Also my vim always uses vim-airline plugin. However my tmux statusline is usually using tmux's powerline segment (or whatever they call it) but not the tmux-powerline cause that is deprecated.
    – ArchNoob
    Nov 25 '16 at 11:53
13

Terminator is a terminal emulator. It "emulates" a display terminal inside your X-Windows display system. Terminator specifically is very cool, because it allows you to split windows, configure layouts, assign keybindings, etc...

Tmux is a "multi-plexer". It's slightly different in that it allows you to run a persistent session inside a terminal. So Tmux allows you to do things like open a session at work, shut down your laptop, go home, then reopen your laptop and drop right back into that same running session.

Currently, I'm exploring Terminator, but I use both. For instance, I might have a Tmux session running multiple panes on one server in one Terminator pane. In another Terminator pane, I might have an ssh session running on another server.

3

Been a user of both Terminator/Tmux (and screen, however, have given it up now).

I am dependent on Tmux more because I cannot rely on X. Most of the time I SSHing to remote VM and coding/debugging there. These are linux VM instances in multi-user text-mode runlevel thus terminator is out of the question.

Other reasons:

  1. Tmux allows me to connect to a previously detached session.
  2. Sometimes I need to duplicate my session to a remote person sitting in another part of the world. Tmux allows me to duplicate my session (without needing to share my desktop). The remote person simply needs to attach to my tmux session.
  3. Tmux allows vim integration
  4. Tmux is highly scriptable i.e., I can open up my test-setup using a single script and provide windowed access to different virtual machines.

Terminator has a great UI and more user-friendly since it also integrates well with the mouse. But it is fundamentally dependent on X, which is a hurdle for my adoption.

I used screen for a few years but then moved to tmux because of its flexibility and never looked back.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.