FLOSS Grenoble Meetup: tmux + tmuxinator
On Wednesday 16th November we had the first FLOSS (Free Libre Open Source Software) Meetup Group in Grenoble. The group was created recently by Rene Ribaud and myselff and Bruno Cornec are co-organizers.
To set the ball rolling I proposed a presentation of "tmux + tmuxinator". Tmux is a screen multiplexer, similar to GNU Screen - in fact if you're happy with GNU Screen already, well you might as well stick with that. That said tmux is a much more active project achieving similar functionality since it's debut in 2011.
The following diagram illustrates the main concepts of tmux.
Thus image shows a GNOME terminal, where the currently displayed window is split into 3 panes.
Note in the status bar we see win1* (indicating that we are displaying window 'win1') and win2 another window which we do not see here.
Within this one window we can see 3 shells each in it's own pane
So in a window we could mix several applications, for example a vim text editing session, a web server and a command-line shell for example.
The concept of a session is very useful.
If you disconnect from your tmux session it continues to run in the background.
This can be particularly useful when connecing to a remote server for example, whether you choose to disconnect or lose the network connection you session continues to run and you can reconnect to it at will.
Another useful aspect of the session is that it allows you to group related tasks within the same session.
You might have several sessions running dedicated to tasks such as
- performance monitoring
- (command-line) editing a presentation, and web serving it
- etc ...
That's a very quick overview of tmux, you can find more information in the presentation here, or on the tmux web site, or awesome-tmux list of useful tmux related resources.
Enjoy tmux !