Experiences with Synergy – cool

Synergy is a free application to allow a ‘server’ to provide the mouse and keyboard input to other machines. So if you have a lot of machines around you and can see all their screens then synergy will allow you to control them all from one mouse and keyboard.

For my setup I used as a client (slave) a Windows 7 home premium 64 bit server, and the server (the one with the master keyboard and mouse) was a Fedora Core 16 Linux server.

In the FAQ it does say the main difference between the synergy software solution and a hardware KVM switch is that the KVM switch handles video, in that one screen can also be used if a KVM is used.

However for the situation I was looking at a KVM was counter-productive. As we all know the KVM solution ‘switches’ the screen to whatever server is being worked on, effectively hiding other screens. In my environment I needed to see the screens of both machines as the one I would not normally be looking at in a KVM solution could require immediate attention (business/client IRC and email notifications that need to be responded to) which would be hidden with a KVM while I burried myself in coding (followed by the occasional oops debugging) on my main machine.

The synergy solution allows both screens to be visible so I can see events on both and switching from one screen to the other (from one PC to another) whilst using the same mouse and keyboard is just a case of dragging the mouse to the other screen.

Note: while I am only using two machines the examples are for three, and I suppose the upper limit is only how many screens (with the server base units nearby attached to the screens of course) you can fit onto your desktop.

The Synergy website has RPMs for most Linux distibutions, as well as for windows and OSX. I downloaded the latest stable for Windows (there are i386 versions but I’m 64bit so used that one) to use as a client (slave) and rather than download the rpm from the synergy site I found Fedora repositories had synergy so used yum to install it onto my main desktop as the server, the desktop running Fedora of course.

The yum download didn’t create a /etc/synergy.conf sample file but the examples on the synergy site were easy to follow and I had one typed up and usable in no time.

I chose not to enable autostart on the ‘slave’ Windows 7 machine, as it’s a laptop and as it’s not always going to be connected to my home network autostart would be silly; unless I wanted endless unable to connect to server messages. I did try it and it started ok on a reboot, so if you have desktop ‘slaves’ rather than portable machines by all means enable autostart.

Also on the server side, the one with the keyboard and mouse, I chose to start it manually also so I can switch configuration files as needed; between a home and work laptop. It runs as any non-privileged user without any problems so easy to do.

So, you now know it was easy to setup, but how did it work ?.

Flawlessly actually.

On the ‘slave’ machine I even fired up a virtualbox system and mouse and keyboard maintained control even after focus was in the virtual machine. It had no problems with the keyboard and mouse on the server controlling a ‘slave’ running a citrix desktop either.

Or basically, it just works.

Well it works for the screens I can see :-). I still have to ssh/rdp into the three machines in my ‘server bedroom’ at the far end of the house.

Give it a try. The ‘server’ that has the keyboard and mouse doesn’t have to be a Linux server; server and client seem to be interchangeable between Windows Linux and OSX. But my main desktops are all Linux, and laptops all windows, so thats what I tested on.

The Synergy site is at http://synergy-foss.org

About mark

At work, been working on Tandems for around 30yrs (programming + sysadmin), plus AIX and Solaris sysadmin also thrown in during the last 20yrs; also about 5yrs on MVS (mainly operations and automation but also smp/e work). At home I have been using linux for decades. Programming background is commercially in TAL/COBOL/SCOBOL/C(Tandem); 370 assembler(MVS); C, perl and shell scripting in *nix; and Microsoft Macro Assembler(windows).
This entry was posted in Uncategorized. Bookmark the permalink.