Complete Guide to Synergy

Synergy is an awesome program, it allows you to utilize the mouse and keyboard of one computer to control other computers. You probably have one computer that is your main computer and another that is either old and totally unused or a secondary computer. Once we have synergy up and running you'll have that multi monitor display you always wanted without shelling out money on a fancy graphics card and reusing perfectly good equipment you may already have.

The problem is synergy doesn't always work like we'd like it to. I'm going to go through in painstaking detail how to manually configure synergy and have it run in the background when you boot your computer.

This is most certainly not quicksynergy, but it is working synergy. If you are tech savvy you'll find this a breeze. If you aren't so tech savvy just explicitly follow along, it will be well worth your time and effort. If you run into problems check to make sure you didn't make any typos! Syntax is extremely important, that includes capitalization.

Getting Started

First things first you need to install synergy onto all of the computers you wish to use, you can download from their website and if you use linux it is probably going to be in your repositories. If you are using linux you may have heard of quicksynergy, this is a nifty program that simplifies the regular synergy program. While in theory it makes things simpler it doesn't work well and only complicates things more when you want to run synergy at boot. So you can install quicksynergy and try it out (it will install regular synergy along with it,) but this guide is only for the real deal.

Making a Configuration File

Once installed we need to use the gui to create our own configuration file. Run synergy on the host/server computer, it will start up with a configuration wizard. The wizard doesn't really make things easier, lets just click cancel and cut to the chase.

So now you are in synergy, there are two checkbox options: Server and Client. Check off the server box and then click Configure Server. Here you are presented with a monitor icon in the top right corner and a grid. Drag the monitor from the corner to a position on the grid, then double click what you just created and name it according to the hostname it represents. If you make too many drag it over to the trash can in the top left corner. Get this so that it represents the set up that you envision and make sure that each monitor has the correct corresponding hostname. Once it is setup to your liking click Ok.

synergy configuration

synergy configuration Replace left, right, etc. with the actual hostname of your computer

Saving the Configuration

Then navigate to the top menu and select File -> Save Configuration as... save this into your home directory.

Windows: C:\Users\YOUR_USERNAME\ as synergy.sgc.

Linux: /home/YOUR_USERNAME/ as .synergy.conf.

Since we want to run synergy when the computer starts we must save the configuration like so, but it only needs to be present on the server/host computer.

Running Synergy

Now that we've got a configuration file all we need to do is run synergy. Now obviously the we can use the gui to do this, but we want to be able to autostart it. For this we will instead run specific commands.

First open up a command prompt or terminal and depending on whether you are using Linux or Windows run the corresponding commands for your server and your client.

For the server machine:
Linux:
synergys
Windows:
"C:\Pogram Files\Synergy\synergys" -c "C:\Users\YOUR_USERNAME\synergy.sgc"
Note that the quotations above are part of the command!


For the client machine:
Linux:
synergyc SERVER_HOSTNAME
Windows:
"C:\Pogram Files\Synergy\synergyc" "SERVER_HOSTNAME"
Don't forget the quotations!

Enter into command prompt/terminal and hit enter.

Note that there is synergys and synergyc, this is very important. One runs the server software the other runs the client software.

Once you run that you will now be able to share a keyboard and mouse. Hopefully it works (and it should since we went about doing it the manual way).

Running at Startup

Now we just need to make these commands run when we boot our computer. Again this will differ based on your Operating System. Make sure you choose the appropriate command for your OS and for the server machine and the client machine.

For Windows:
This is a bit tricky:
Open a text editor and copy the appropriate command from above. Save this file as synergy.bat and in your home folder (C:\Users\YOUR_USERNAME\ ).

Now open the start menu, start typing edit group policy and run that program. In the left hand navigation menu under Computer Configuration click on Window Settings -> Scripts, double click Startup. Then click on add, then click browse and navigate to your home folder where you saved the file synergy.bat. Double click on the file, click OK and then click OK again.

That tells Windows to run the script which contains the command to start synergy when you boot the computer.

If something gets messed up and you have to start synergy again you can kill the process through the process manager. Then open the program through the start menu like normal, select the appropriate options and select start.

synergy configuration

synergy configuration

For Linux:
This varies based on the software you are using. You should typically have a setting for adding startup scripts. Simply create a new entry using the appropriate script.

Its not always totally straightforward, for example it seems they've hidden this option in gnome3, you must run gnome-session-properties in order to configure these settings.

If something gets messed up and you need to start synergy manually, open a terminal and type pkill synergy and then type the corresponding command from the Running Synergy section.

Protip: If you dual boot the server computer make sure that the hostname is the name across both systems. You will have it running flawlessly no matter which OS you booted into.