One keyboard and mouse to rule them all!

Jan 26, 2007 09:44 GMT  ·  By

Personal computers have taken over the home of almost every human being on the planet. Some of us even have two or more PCs in our home. Unfortunately, having two computers on the same desk requires two separate keyboards and mouse for each of them. Although it might look pretty for visitors, you in turn will most definitely get tired of switching between keyboards. And when you reach that point, you'll find two solutions to your problem. First:KVMs. A KVM switch (Keyboard, Video, Mouse) is a hardware device that allows you to control multiple computers from a single keyboard, video monitor and mouse. Second: Synergy. The latter is a software client/server application for several operating systems (GNU/Linux, Mac OS X, Microsoft Windows and more) which also allows you to control multiple computers through the same keyboard and mouse. Moreover, your computers will be able to share their clipboards among themselves, enabling you, for example, to copy text from a Linux application and paste it into a Windows application. And unlike KVMs, Synergy was released as a FREE program under the GPL license.

Image available courtesy of Synergy Website

Installing and Configuring Synergy

Synergy is a client/server based application so you must keep in mind the following: - You need to start the Synergy server on the computer with attached keyboard and mouse. - You need to start the Synergy client on ALL computers you want to control with the server's input devices.

To install Synergy on Ubuntu, open a terminal and type:

code
sudo aptitude install synergy
To install Synergy on Fedora, open a root terminal and type:
code
yum -y install synergy
To install Synergy on Windows or Mac OS X, download their specific packages from SOFTPEDIA Download and install them manually.

Although Synergy is installed differently on those systems, its configuration is done the same way on all systems. First of all, you'll need to configure the screens you'd like to use through the synergy.conf file.

Copy the example configuration file: Ubuntu:

code
sudo cp /usr/share/doc/synergy/examples/synergy.conf /etc/synergy.conf
Fedora (as root):
code
cp /usr/share/doc/synergy-1.3.1/synergy.conf /etc/synergy.conf
Now, open the configuration file (/etc/synergy.conf) using your favorite editor and make sure it fits your systems and the way they are arranged. But first, let me break it down for you:

The screen section will list the hostnames for each computer. The hostnames need to be real and properly written. The links section allows you to map where each screen should display. For instance, if you have PC1's monitor on the left part of the desk and the PC2's monitor on the left, you'll need to modify the config file as it follows (don't copy/paste, just manually edit it):

code
section: links
PC1:
left = PC2

PC2:
right = PC1
Moreover, the same modifications need to be made on every computer, but changing the values (PC1 becomes Pc2 and vice versa).

Running Synergy

As I've said earlier, you need to run the server on the machine who's keyboard and mouse you want to share. So, on the server machine, type:

code
synergys -f --config /etc/synergy.conf
( the -f switch is for debugging purposes only. Once you have everything working properly, drop this switch and the synergy server will be loaded into background).

On the client, type:

code
synergyc 10.10.0.1
(replace 10.10.0.1 with the real IP address from the PC running the server daemon).

Using Synergy

If no errors occurred, you should now be able to move the mouse to the corner of the screen and have it roll over in the next system. Once the cursor is on the other server, so is the keyboard.

Good luck and have fun!