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 .
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.
- screens – this enumerates the computers in the synergy network including the server. Each computer’s hostname or local name should be here.
- aliasas – this section connects the screen names setup in step 1 above, to the local IP addresses of each of the computers
- 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.
- screens – this enumerates the computers in the synergy network including the server. Each computer’s hostname or local name should be here.
- aliasas – this section connects the screen names setup in step 1 above, to the local IP addresses of each of the computers
- 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.
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.
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.
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:
Leave a Reply