Synergy Multi-System Setup PDF Print E-mail
Written by Alex   
Tuesday, 13 June 2006

I have 2 computers at work. One is a PowerMac G5, and one is a Dell running Ubuntu Linux. I switch frequently from one computer to the other, and having 2 keyboards and mice got to be a real nuisance. I've experimented with a few setups which allow just 1 keyboard and mouse to control both computers, and this is a quick report/howto on what I'm using.

Option 1 : KVM Switch

A KVM (keyboard, video, mouse) switch lets you hook up 1 keyboard, monitor, and mouse into both computers. You use either a button on the switch or a keyboard command to tell it which computer you want to control. This is kinda what I wanted, but not really. I have 2 monitors, and I want to be able to zip back and forth between the 2 without having to hit a button.

I improved the setup a little bit by setting the 2 monitors side by side, and only hooking the keyboard and mouse into the KVM switch. The monitors were hooked directly to their respective computers. This way, I could see both monitors at the same time, but switching between the 2 still felt clunky and slow. I wanted the 2 machines to act like one big desktop.

Option 2 : VNC

VNC = Virtual Network Computing. You can start up a VNC client, connect to a VNC server, and you'll see the server's desktop on the client machine. There are lots of VNC servers out there. I set up OSXVNC as a server on the Mac, and found a program called x2vnc which I set up on my Linux machine. x2vnc is a very slick little package. It's designed to do exactly what I wanted - whenever I scroll to the edge of one screen, my mouse jumps to the other screen. The only downside is that I can't copy/paste between machines. Others have told me they are able to copy/paste between Linux and Windows using a setup like this, but I don't run Windows, so I wasn't quite happy.

A note for x2vnc users : I first grabbed the latest version of x2vnc, which is 1.7.1. It compiled just fine on my Red Hat Enterprise 4 machine. But, whenever I would connect to the OSXVNC server, my mouse was trapped in the upper-left corner of the screen. I'm not sure what the problem was, but installing version 1.6.1 instead made the problem go away.

Option 3 : Synergy

Synergy is a client/server application with the same intent as x2vnc : link multiple monitors and multiple computers so they behave like a single desktop. It seems much more flexible that VNC, in that is supports an unlimited number of computers - you can string 5 machine desktops together if you want to. It also allows copy/paste operations between my Mac and Linux desktops, which didn't work with the OSXVNC/x2vnc.

Synergy Setup

Here's how I set up Synergy for my machines...
  • Get Synergy

    First you need to download Synergy. The client and server programs come in a single package, and are available for Windows, Mac, and Linux/Unix. I was able to install Synergy on Ubuntu via apt-get by enabling the 'universe' repositories.

  • Choose configuration

    Decide which machine will run the Synergy server, and which one will run the client program. Put this information into a synergy.conf file on the server machine. You'll reference this file when you start the synergy server. You'll need to know the hostnames of each machine, though you can use IP addresses if you don't know host names. Synergy uses TCP port 24800, so you'll need to open that port if you're running any kind of firewall.

    If you are using a Macintosh, I recommend using it as the server for one kinda-stupid reason. The special keys on the Mac keyboard (like the Eject key for the CD tray) aren't passed along if the Mac is the client computer. I initially had my Linux computer as the server, and everything worked fine except that I couldn't open the CD tray on the PowerMac. (It's Apple-sleek, meaning it has no button to open the tray. You NEED that key.)

  • Test it

    Start the synergy server by running 'synergys' on the server machine. You need to tell it where the configuration file is with the -c flag.

  • Secure it

    Synergy doesn't include any access controls by default. It's wide open, and anyone who can connect to port 24800 on your server machine can use your desktop. This is a slight disadvantage over VNC, which has built in access control, but this is also pretty easy to fix. The Synergy docs include instructions on how to set up an ssh tunnel, so any communication to/from port 24800 is encrypted. I also used a few tutorials to set up key-based authentication so that I wouldn't have to type my password every time I started the Synergy client. Key based authentication #1. Key based authentication #2. key based authentication for Windows (I haven't used it, but it might help...

  • Smooth out the rough spots

    I wrote a few shell scripts to start either the server or client programs with just a click. They run just fine on my machines, as they probably will on any OSX or Linux machine. I called these SynergyServer.sh and SynergyClient.sh. I'll post them for download soon.

That's all

That's all I did. I can zip back and forth from computer to computer. I can copy/paste between the two. I almost forget I am using 2 computers. It's great! I guess this isn't exactly a howto, but the links to the actual howtos should help you tie it all together. Good luck, and thank you to the folks who have created this great software.

Last Updated ( Tuesday, 13 June 2006 )
 
Random Deanspot Image