Control Multiple Computers with Synergy

Synergy is one of the most amazing and useful software tools ever created. The first time someone sees it in action. its almost black magic. Synergy lets you use a single mouse and keyboard across multiple computers seamlessly. Its open-source and is available for multiple platforms – Windows, Linux, FreeBSD Unix and Mac.

If you use multiple computers simultaneously and are tired of having to switch mouse and keyboards , then this is the best tool you could ask for.

Synergy requires TCP/IP connectivity between the computers. That means if your computers are connected via LAN cable then it will work. It will even work if your computers are connected via Wifi over a local network. But there is generally a performance lag over wifi as compared to a wired network.

Synergy works in a client-server fashion. One computer acts as the synergy server and other computers act as clients to that computer.

EXAMPLE SCENARIO

Lets take an example scenario. I have 3 computers each running different OS – Windows 7, Linux Mint and FreeBSD Unix. Since my Unix machine is in the center and the Linux machine is to the left and the Windows machine to the right, I want to setup the Unix machine as the synergy server and the other two machines as the synergy client.

As you may have understood, the placement of the computers is actually the placement of the displays .

synergy diagram

 

 

 

 

 

 

 

 

 

 

Lets look at the installation of synergy client and server in each OS.

Linux

Download and install using

sudo apt-get install synergy OR

sudo yum install synergy

depending on your flavor of Linux.

To run the server, the command is synergys for the client it is synergy <ip address of server> eg. synergy 192.168.1.80

A computer can either be a client or a server but not both.

 

FreeBSD Unix

If you are installing from packages then

pkg add synergy

If you are building from ports then it is in /usr/ports/sysutils/synergy

You can do portmaster sysutils/synergy or you do a manual make install

To run the server, the command is synergys for the client it is synergy <ip address of server> eg. synergy 192.168.1.80

A computer can either be a client or a server but not both.

 

Windows 7

Windows binaries are available from the official website http://synergy-project.org/ but unfortunately it is a paid download, though its not very expensive at $10. However you can still find old free binaries at http://synergykm.com/binaries/

After running the installer, you are ready to configure Windows either as a server or a client by running the Synergy from the Start menu

 

 

SERVER CONFIGURATION

Now we are ready to configure synergy for our needs. Note that configuration is only needed for the server machine and not the client machine.

Linux

We need a synergy.conf file which will contain the setup information. This should be in the home folder of the current user. The barebones conf contains three sections.

  1. screens – this enumerates the computers in the synergy network including the server. Each computer’s hostname or local name should be here.
  2. aliasas – this section connects the screen names setup in step 1 above, to the local IP addresses of each of the computers
  3. links – this defines the layout of the computers in terms of top, bottom, left or right. In other words which computer is to the left or right of which computer. You can also define screens which are on top or under another screen.

You can get more options to configure by looking up the official documentation. Our example conf file is here assuming there are 2 machines –  unix and linux and linux is to the left of unix.

section: screens
unixbox:
linuxbox:
end

section: aliases
unixbox:
192.168.1.4
linuxbox:
192.168.1.2
end

section: links
unixbox:
left = linuxbox
linuxbox:
right = unixbox
end

 

After saving the conf file, run synergys. It will look for the conf file and load it up and stay resident in memory. If there are any errors in the conf file, it will show you relevant error messages. To stop the server, you have to kill the process

 

FreeBSD Unix

We need a .synergy.conf file which will contain the setup information. Notice the dot prefix to the filename. This should be in the home folder of the current user. The barebones conf contains three sections.

  1. screens – this enumerates the computers in the synergy network including the server. Each computer’s hostname or local name should be here.
  2. aliasas – this section connects the screen names setup in step 1 above, to the local IP addresses of each of the computers
  3. links – this defines the layout of the computers in terms of top, bottom, left or right. In other words which computer is to the left or right of which computer. You can also define screens which are on top or under another screen.

You can get more options to configure by looking up the official documentation. Our example conf file is here assuming there are 2 machines –  unix and linux and linux is to the left of unix.

section: screens
unixbox:
linuxbox:
end

section: aliases
unixbox:
192.168.1.4
linuxbox:
192.168.1.2
end

section: links
unixbox:
left = linuxbox
linuxbox:
right = unixbox
end

 

After saving the conf file, run synergys. It will look for the conf file and load it up and stay resident in memory. If there are any errors in the conf file, it will show you relevant error messages. To stop the server, you have to kill the process

 

Windows 7

Windows setup has a helpful gui which takes care of most of the stuff. On running synergy from the Start menu. you are are asked to choose whether you want to run it as a server or a client. Click on the Server checkbox and then click on Configure Server button.

screen1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

In the second screen, you can visually add computers all around the center box which represents your current computer. You can drag the computer icon from the top right corner to the relevant square. Eg. if you want to denote a computer to the left of the server then drag it to the left square.

screen2

 

 

 

 

 

 

 

 

 

 

 

 

Once a node is added, double click on it to setup its name and alias. The name should be the computer hostname and the alias will be its local IP address.

screen3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

For now just ignore the other options. Those are advanced configuration options which you can find explanations about, in the official documentation.

 

From the main screen, you can click on Start to start the synergy server.

 

CLIENT CONFIGURATION

There is no client configuration as such. Just the command to run the synergy client.

 

Linux

synergy 192.168.1.20 assuming the synergy server IP is 192.168.1.20

 

FreeBSD Unix

synergy 192.168.1.20 assuming the synergy server IP is 192.168.1.20

 

Windows

Run Synergy from the Start menu. Make sure the Server checkbox is unchecked. Under the Client checkbox, enter the IP of the server. eg.192.168.1.9 and click on Start

 

NOTES

Sometimes a synergy client may not be able to connect to a server because of an older version of the client as compared to the server. That is resolved by downloading the latest version.

You can setup multiple levels of left,right,top,bottom. i.e A is to the left of B  and B is to the left of C and C is the server.

 

Here is a demo video from Youtube (not mine) to give you an idea of how it looks in action:

 

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*