A Perl script controls Tmux configuration
split-window statements in lines 47 and 48 with the
-h (horizontal) and
-v (vertical) options create additional panes in the window by dividing the window horizontally and vertically. Tmux numbers windows and panes from 0 up – but be careful, a frequently used Tmux configuration option changes the start point of the enumeration to 1!
In other words, to address the second pane of the first window in the
log4perl session of a newly installed Tmux, line 55 uses
log4perl:0.1; it then issues
send-keys to run the command for the test suite, followed by a closing
C-m (for Return). However, you could just as easily use
vagrant ssh to change to a Vagrant VM, as described in the previous issue of this Perl column , and ensure that the test suite is running in a virtual cleanroom. Line 51 finds the first two
.pm files in the hierarchy of the selected Perl project and passes in their names to the
vim editor with the
-p option, which displays them in tabs in the left-hand pane (Figure 2).
Tmux is included in many distributions' repositories; on Ubuntu, the command
sudo apt-get install tmux
will do the trick. Because the Tmux developers seem to have been very busy of late, users will want to go for version 1.7 at least – or even 1.8 – to take advantage of all the features introduced in this article. If you prefer a more DIY approach, you can pick up the source code  and build your own version. The only important dependencies are for libevent (at least 1.4.14 or 2.0) and ncurses. A Bash script available at GitHub  automates the build process.
Brian Hogan's book  provides useful tips for common tasks – from developer environments through pair programming, wherein two developers in two locations type in different panes in the same session. Even better: If you check the script into your source control system, the next engineer can simply fire up the development environment and start working productively right away.
- Listings for this article: http://www.linux-magazine.com/Resources/Article-Code
- Tmux: http://tmux.sourceforge.net
- Mike Schilli's Tmux configuration: https://github.com/mschilli/dotfiles/blob/master/.tmux.conf
- "Perl: Vagrant Vagabond" by Mike Schilli, Linux Magazine, June 2013, pg. 64-67, http://www.linuxpromagazine.com/Issues/2013/151/Perl-Vagrant-Package
- Script for a static Tmux build on difficult platforms: https://gist.github.com/ryin/3106801
- Hogan, Brian P. tmux: Productive Mouse-Free Development. Pragmatic Bookshelf, 2012
Buy this article as PDF
New tool will look like GParted but support a wider range of storage technologies.
New public key pinning feature will help prevent man-in-the-middle attacks.
Carnegie Mellon researchers say 3 million pages could fall down the phishing hole in the next year.
The US government rolls new best-practice rules for protecting SSH.
Klaus Knopper announces the latest version of his iconic Live Linux system.
All websites that use these popular CMS tools could be vulnerable to denial of service attacks if users don't install the updates.
According to a report, many potential victims of the Heartbleed attack have patched their systems, but few have cleaned up the crime scene to protect themselves from the effects of a previous intrusion.
DARPA and NICTA release the code for the ultra-secure microkernel system used in aerial drones.
Should you trust an online service to store your online passwords?
New B+ board lets you build cool things without the complication of a powered USB hub.