How To: Control a PC and Mac with One Keyboard and Mouse


We at Maximum PC remember a time, long ago, when having a dual-monitor setup was enough to establish some pretty serious nerd cred. These days, however, everyone and their grandma are playing World of Warcraft and checking their email at the same time on their two screens. So what’s a guy got to do to stand out from the pack? Here’s one idea: run two computers in tandem.

Synergy is a free, open source program that allows you two control two or more computers with a single keyboard and mouse. The linked computers behave as though they were simply different monitors in a traditional multi-monitor, single-computer setup. That is to say, if you drag the mouse off the left side of the right monitor, it appears on the left monitor, directing all keystrokes to that box. More impressively, Synergy synchronizes the two computers’ clipboards and even their screensavers.

The most brilliant part of Synergy? It’s a cross-platform application, meaning you can run a Windows PC, a Unix box and a Mac running OS X all at the same time, with one keyboard and one mouse. If that doesn’t impress your nerd friends, you need to get some nerdier friends.

Fortunately, getting Synergy up and running is a snap. We’ll run through the steps involved now.

Time = 15 Min

What You Need

•    Synergy

1. Install Synergy on Each Computer

First, go to the Synergy website ( and click on the “Latest Release” link on the sidebar. From there, download whichever binary (or source, if you want to compile yourself) is appropriate for each box you’ll be running, and install it.

Each computer you plan to connect should be on the same local network. This shouldn’t be a problem, since you’ll want to use Synergy with computers in close proximity anyway, but if you do get any funny ideas about running it over the internet, be careful; Synergy has no built-in encryption and is therefore a pretty massive security risk over an untrusted network.

2. Configure Synergy on the Server Computer

Before you can proceed, you’ll need to decide which computer you want to be the server. The only important thing about the server-client distinction is that the server is the computer which will have the mouse and keyboard connected. Once you’ve decided, we’ll configure Synergy on that computer.

On a Windows Box

Run the synergy.exe executable. A window should open. When it does, select the “Share this computer’s keyboard and mouse (server)” radial button, as shown below.

Next, click on the button labeled “Configure…” just to the right of the words “Screens & Links.” A new dialogue will pop up. At the top, under the empty list marked “Screens,” click the “+” button.  Yet another dialogue will open, labeled “Add Screen.” Here you will input the name of the first screen you want to add, the server. For simplicities sake, I highly recommend that you use your computer’s name for this, as it will streamline the process.  You can leave the “Aliases” and other fields untouched.  Repeat this process until each computer you wish to connect is present in the “Screens” list.

Next, you’ll need to establish the links between each screen. To do this, we’ll use the dropdown fields at the bottom of the “Screens & Links” window.  The three you need to change have a thin red border around them, for easy identification.  Fill out the boxes so that they describe a link between two of your screens.  For instance, if you’re running two screens side by side, you would fill out the fields so that two completed line reads:

“0 to 100% of the left of RightScreenName goes to 0 to 100% of LeftScreenName,”

where RightScreenName and LeftScreenName are the names of the appropriate screens. Click the “+” button below to confirm the link.

It’s important to note that you must establish the links both ways—just establishing a link from the right of one screen will not automatically establish the corresponding link from the left of the other.  Once you’ve established all links, the screen should look something like this:

Press ok to go back to the main menu, and click “Test.”  This will start the server without closing the configuration window.  Now, you’re ready to start the clients.

On a Mac or Unix Box:

For Unix or Mac OS X, we’ll configure Synergy with the same information, only we’ll do it with a config file, instead of a GUI.  Below, we’ve included a screenshot of the config file we used to get a Unix box (“fernando”) and a Windows laptop (“laptop”) connected.  If you copy this example, substituting your own computers’ names and relative positions, it should work fine.  Save the file as “synergy.conf.”

Once you have the config file saved, it’s time to run the Synergy server application.  On Unix, do this by typing the following into the terminal:

synergys -f --config synergy.conf

Substitute the full pathname if synergys isn’t in the PATH.

It works the same on Mac, except that you can drag the synergys and synergy.conf files onto the terminal in lieu of typing the whole pathname.

The -f command line option causes Synergy to run in the foreground, so you can identify any potential problems.  Once you know it works, remove the -f to have it run hidden in the background.

3. Run Synergy on the Client Computers

Fortunately, Synergy doesn’t require much in the way of configuration when it’s run as a client.  On a Windows computer, simply run the Synergy executable, select the radial marked “Use another computer’s shared keyboard and mouse (client),” and enter the name of the host computer in the field marked “Other computer’s host name.”

Now click “Test” on the client computer, and you’re in business.  Synergy will attempt to establish a link to the host and will show you a log of any problems it encounters.  Assuming everything runs smoothly, the next time you run Synergy, do so by pressing “Start” instead of “Test” on each computer, and Synergy will tuck itself away in the task bar.

On a Unix box, simply run the following command:

synergyc -f server-host-name

replacing server-host-name with the name of your host computer and using the full pathname if synergyc isn’t in the PATH.

Once again, it’s the same on a Mac, except that you can drag synergyc onto the terminal instead of typing out the pathname.

Now, you should be set up to control all your computers with one mouse and keyboard.  You can fine-tune your experience in the options menu, although Synergy is such a simple app that there really isn’t a lot to customize.


Around the web