Remote Pair Programming

A while ago, Chris mentioned that we’ve been trying out a few ideas for making remote pair-programming easier. We’ve been doing quite a bit more remote pairing recently. Most of the time we just use a combination of VNC (I’ve been using Vine Server) and voice over Skype (using a headset really helps).

But something else we’ve used successfully is multi-user GNU screen sessions. The advantage of this technique is that much less bandwidth is required and the terminal is much more responsive. I thought I’d post the magic incantation we’ve been using (on OSX), in case anyone else finds it useful…

# on the server
sudo chmod u+s /usr/bin/screen
# first user connects to server over ssh and runs the following
screen -S <session_name>
ctrl-A :multiuser on
ctrl-A :acladd <client_username>
# second user connects to server over ssh and runs the following
screen -x <server_username>/<session_name>