2 Computers via 1 Keyboard & Mouse

by Gene Liverman
Gene and his truck

Do you have multiple computers on your desk? Is one of them a laptop that is sat off to the side a bit? Have you ever wished that you could get rid of all but one of the keyboard / mouse combos that clutter your desk or that your laptop was easier to control? If so then Synergy is the answer to your woes.

Synergy (synergy2.sf.net ) allows you to use the keyboard and mouse of your primary computer to control all the other computers around you. Best of all, it is free, works with Linux, OS X, and Windows. There is one pitfall though... Synergy has not been updated since 2006 but have no fear because it has been forked to a new project called Synergy+ (http://code.google.com/p/synergy-plus) and they are working to squash the bugs that have arisen plus add new functionality. Below is an explanation of Synergy (taken from the Synergy+ home page):

Synergy+ (synergy-plus) lets you easily share a single mouse and keyboard between multiple computers with different operating systems, without special hardware. All you need is a LAN connection. It's intended for users with multiple computers, where each system uses its own display. It's a little like having a 2nd or a 3rd desktop...

Synergy+ Example Pic

In the above picture you could just as easily substitute a laptop for any one of these machines. Client computers can be to the left, right, top, or bottom of the server's screen or any other clients screen. For example, imagine a shelf just above the monitors in the above picture that holds your laptop and monitors for two other computers. Then imagine a shelf above that with a bank of 5 more monitors...

As a side note, if you run a dual monitor setup then the "screen" is the combined real estate of both monitors. Synergy supports mapping a certain percentage of the screen to be aligned with a percentage of another screen. The means that if your dual monitor setup uses matching monitor resolutions you could have 50% of the screen's top edge (one monitor's worth) mapped to the edge of one client and the other 50% (the second monitor) to another client.

Synergy does have some shortcomings when it comes to security but they are easily overcome. Quoting the Synergy2 site:


Synergy does not do any authentication or encryption. Any computer can connect to the synergy server if it provides a screen name known to the server, and all data is transferred between the server and the clients unencrypted which means that anyone can, say, extract the key presses used to type a password. Therefore, synergy should not be used on untrusted networks.

However, there are tools that can add authentication and encryption to synergy without modifying either those tools or synergy. One such tool is SSH (which stands for secure shell). A free implementation of SSH is called OpenSSH and runs on Linux, many Unixes, and Windows (in combination with Cygwin).

So, to secure Synergy you can either tunnel it through SSH or do like I do and configure a private VPN between your computers using OpenVPN and run Synergy over it. OpenVPN is available in most Linux distributions or you can download it directly from their site.

As a final tip, be sure to set your clients to run Synergy (and OpenVPN if used) automatically so that you can login without having to break out the spare keyboard and mouse again. This is particularly easy in Gnome. At the end of /etc/gdm/Init/Default, just before the line that says exit 0 add the following:

/usr/bin/killall synergyc
while [ $(pgrep -x synergyc) ]; do sleep 0.1; done
/usr/bin/synergyc

Now, go clear those extra keyboards off your desk!