Here’s how we do remote pair programming or code reviews(works on mac osx and linux):
Lets say person A wants to pair program remotely on Person B’s computer:
- Person B installs tmux which is a terminal multiplexer, a bit like screen.
- Person B connects to Person A on skype chat
- Person B requests person A for his public ssh ID, to give him pernissions to connect to his machine
- Person A gives his public ssh key to Person B, by doing “cat ~/.ssh/id_dsa.pub” and then copies the contents of the output into Person B’s chat window on skype
- Person B adds the person A’s ssh id to a new line at the end of the file ~/.ssh/authorized_keys
- Person B opens port 22 on their machine to accept ssh requests
- Person B gives person A his public IP (go to whatismyip.com and paste result into skype)
- Person A fires up “ssh [ip of person B]” or possible “ssh someuser@[ip]”
- as they get the command line signal that they are in, Person A will type “tmux” to create a new tmux session, or “tmux at” to attach to an existing tmux session.
- Person B will type “tmux” on their locall command line to open a new tmux session, or, if person A has already created a session, they will type “tmux at” to join that existing session.
that’s it. from that moment on it will feel a bit like the old day so of IRC and BBS’s, as you can see each other types in real time.
now you can fire up vim (not mvim, but vim, so it runs inside the tmux terminal) and talk via skype voice.