On Github mirie / tmate_presentation
By Mai Irie / mirie on d.o.
robbiethegeek
Director of Engineering @ Phase2
And I’m going to share with you what Robbie Holmes, or as he’s known everywhere as robbiethegeek, shared with me when we were chatting about pair programming some time ago. I’m certainly not a tmate expert but I thought it was pretty neat.
uh-oh, one of our Dev’s has an issue.
And then it’s time to escalate this trouble-shooting to a hangout, or whatever kind of meeting that allows screensharing.
Sigh...
https://pragprog.com/book/bhtmux/tmux
That means:
There is an HTML Client in progress...
However, the client has problems like the tmux key bindings don't work and there are some graphical bugs
Plus...the whole point is terminal sharing...so use a terminal!
Terminal Sharing also opens the door for...
Pair Programming!
Using tmate for remote pair pairing is straightforward
Grab a good headset with a microphone Jump on Google Hangouts, Skype, etc Run tmate Share a read/write session with your partner Edit with vim Celebrate!You need to have Homebrew installed as a prerequisite.
brew update && \ brew tap nviennot/tmate && \ brew install tmate
Ubuntu 12.04 and up have published packages for tmate.
sudo apt-get install software-properties-common && \ sudo add-apt-repository ppa:nviennot/tmate && \ sudo apt-get update && \ sudo apt-get install tmate
Grab the sources from github: https://github.com/nviennot/tmate.
A few dependencies are required. The Ubuntu packages names are:
git-core build-essential pkg-config libtool libevent-dev libncurses-dev zlib1g-dev automake libssh-dev cmake ruby
./autogen.sh && \ ./configure && \ make && \ make install
Code: https://github.com/nviennot/tmate-slave
tmate server has some package dependencies. Once those are installed on the server, you can install tmate-slave with:
git clone https://github.com/nviennot/tmate-slave.git && cd tmate-slave ./create_keys.sh # This will generate SSH keys, remember the keys fingerprints. ./autogen.sh && ./configure && make sudo ./tmate-slave
...Set up the ~/.tmate.conf file
...And start your server with the following command:
tmate-slave [-k keys_dir] [-l logfile] [-p port] [-h host] [-v]
Ok, back to when our dev was saying something wasn't working on his local dev environment.
You can still jump on a call but instead of sharing your screen, share your terminal instead!