Sharing a Keyboard and Mouse Between Systems with Synergy
Many power users have multiple computers setup in their office or on their desks, which typically results in either multiple keyboards, mice, and monitors, or the use of a KVM switch to change between each machine individually. There are downsides to both of these solutions; multiple keyboards take up lots of space and can be uncomfortable to use, while KVM only lets you manipulate a single machine at a time.
A solution to this problem is to use a program called Synergy, which allows you to use a single keyboard and mouse between multiple computers, even across different operating systems. This article will explain how to share a keyboard and mouse between systems in three painless steps. (Note that Synergy only lets you share input devices; each machine will still require its own monitor. That’s the whole idea!)
Synergy is a free, open source utility that you can download from http://synergy2.sourceforge.net. It has support for all the major platforms, including Windows, Mac OS X, and UNIX-like systems (for example, a Linux system running X-Windows). For this particular tutorial, I’ll be installing Synergy on Windows by downloading the Synergy Installer for Windows, and on Fedora Linux I am installing QuickSynergy via YUM. For Ubuntu or Fedora, you can install QuickSynergy with the appropriate command:
| Fedora Linux | Ubuntu Linux |
| sudo yum install quicksynergy | sudo apt-get install quicksynergy |
Once you’ve installed Synergy, setting it up is pretty straight-forward. Synergy uses as client/server configuration, where the client connects to the server and uses the server’s keyboard and mouse for control. So, the first thing you need to decide is which keyboard and mouse set you are going to use.
In my setup, I am using the Linux system’s keyboard and mouse; this means that the Linux system will act as the server, and the Windows machine will act as a cilent. There is no restriction here; you can use the Windows system as the server and the Linux machine as the client if you prefer. The only thing to know is that the computer whose input devices you want to use is the server, and the rest are clients.
As stated above, the server is the machine whose keyboard/mouse you are going to use and you should configure the server side first. In my case this is the Linux system, so I am going to launch QuickSynergy (which installed itself into the Gnome menu under “Applications” and “Internet”) and select the “Share” tab. Here, simply enter the hostname of the clients you want to share the keyboard/mouse with; in my case, the hostname of my Windows machine is “spirit” and it is to the right side of my Linux box, so my configuration looks as follows:
Once you’ve done this, it is as simple as clicking on “Execute” to launch the Synergy server. Now the Synergy program will sit in the background and wait for a client to connect. If you wanted to use the Linux machine as a client rather than a server, you would just click the “Use” tab instead, and input the IP address or hostname of the machine whose keyboard and mouse you want to use.
Once the server has been configured, you can setup the clients to connect to it. These are the machines that will use the keyboard and mouse of the server. In my setup, I have a single Windows 7-based client, although you can configure up to 4 clients (one for each direction; top, bottom, left, and right) to share a single server’s input controls.
I’ve already installed the synergy package on the Windows client (see above for instructions), so all I have to do is configure it to connect to my Linux server. The configuration here is very simple — just enter the IP address (or host name, if it is resolvable on your network) of the Synergy server, and press Start:
Now you should be able to your system’s mouse freely between the two desktops! Your keyboard input will be directed to the system on which the mouse is located at that moment. Synergy even supports copying clipboard data between the machines, which is awesome (although I’ve had some problems copying images in the clipboard).
It’s important to point out that, as is the case with running any server, you have to make sure that your firewall settings allow clients to connect on the specified port. Synergy server runs on port 24800, so make sure that your local firewall allows connections on this port. If you want to be really secure, you can limit the firewall to only accept connections from the client’s IP, making sure that no one but the approved client is able to use your keyboard and mouse — probably not a bad idea if you are on a public network.
That’s it! Now you can put away that second keyboard and mouse (or, if your machine is a laptop, you can now avoid twisting your wrists to type on multiple keyboards) and control all your computers with just one set of input devices.
Like this post?
- Subscribe to the RSS feed to get more like it!
- Share it:
- Leave a comment!






Wow. This seems perfect for my home office needs; I cannot wait to try it! I am wondering how much lag or delay there might be in switching from one computer to another; maybe not much at all on wired network. I intend to give it a try.
Hi John; I’m glad this is something you found useful — synergy has been a priceless tool for me since the day I found it.
I have two different setups, one wired and one wireless. Neither of them experience any lag at all when moving between computers. It’s entirely seamless for me, and I don’t see any reason why you’d have any problems.
Thanks for commenting! Hope you find the information here valuable!