Share one keyboard and mouse with multiple machines without a KVM

The Synergy open source application allows you to share a keyboard and mouse between Windows, Mac, and Linux computers and saves you the cost of a KVM.

There are three monitors on my desk, two of which are attached to one computer and one monitor that is attached to another computer. I have two keyboards and two mice on my desk, and switching back and forth between those keyboards caused me to have all sorts of back problems. Sure, I could use a KVM, but I didn't have one handy, so how could I lose one keyboard/mouse combo? I didn't think it was going to be possible, until I found an incredibly simple and free solution called Synergy.

Synergy is an easy to set up open source application that allows you to share a keyboard and mouse between multiple networked computers. The software allows you to share a single keyboard and mouse between Windows, Mac, and Linux computers.

What you need to use Synergy

  • At least two computers with separate monitors
  • A network connection (both machines on the same network)
  • The Synergy software

Installing and using Synergy

For this tutorial, I demonstrate how to use Synergy to share a keyboard and mouse between a Windows 7 machine and a Ubuntu Linux machine.

Install the Synergy software on both the Windows and the Linux machines. The Windows installation is simple: download the Windows .exe file, double-click it, and walk through the wizard. Follow these steps for the Linux installation:

  1. Download the installation file for Ubuntu.
  2. Open a terminal window.
  3. Change into the directory the file was downloaded into.
  4. Issue the command sudo dpkg -i synergy-XXX-Linux-xxx.deb (XXX is the release number and xxx is your system's architecture).
  5. Type your sudo password.
  6. Hit the Enter key.

When the installation for both is complete, you should start the software. When you do this, the main Synergy window will open. You have to set one instance up as the server and one as the client; we'll set up the Windows machine as the server and the Linux machine as the client.

Let's open the Windows Synergy application by going to Start | All Programs | Synergy. When the app opens, it will automatically go to the system tray. Right-click the Synergy icon (the blue and green circle) and select Show. From the new window (Figure A) make sure Server is checked. Figure A

The log window is a real-time update of what is happening during the connection phase. (Click the image to enlarge.)
Then click the Configure Server button in Figure A. From the Screens And Links tab in the new Server Configuration window that opens (Figure B), click the monitor icon in the upper right corner and drag it next to the center square. If the client monitor is to the right of the server, drag the client monitor to the square to the right of the server monitor. Figure B

You can also configure hotkeys and polling from the other tabs. (Click the image to enlarge.)

Once the client icon is in place, double-click the icon and rename it. You must rename the client with the hostname of the actual client computer. When the client is configured, click the OK button and then click the Start button on the main window.

Now, over to the client machine. On Ubuntu, open the Dash and type synergy. Click the application launcher. The Synergy icon will appear in the notification area. Right-click the icon and select Show. From the main window (Figure C), do the following:

  1. Select Client.
  2. Enter the IP address of the computer acting as the Synergy server.
  3. Click the Apply button.
  4. Click the Start button.
Figure C

If you're unsure of the client's host name, it's right here. (Click the image to enlarge.)

You should be able to grab the mouse and keyboard attached to the server machine and move it across to the client machine. After you give this amazing little app a try, report back and let us know if it makes your life easier.

By Jack Wallen

Jack Wallen is an award-winning writer for TechRepublic, The New Stack, and Linux New Media. He's covered a variety of topics for over twenty years and is an avid promoter of open source. For more news about Jack Wallen, visit his website jackwallen....