The Virtual KVM Redux

A post I wrote earlier this year, The Virtual KVM, has one of the highest page rankings on the site. That isn’t really saying much, but the fact that someone hits that page about every other day presumably looking for help in setting up a virtual kvm on two or more computers, and they end up here tells me that there isn’t a lot of information on the web to guide people through the process.

The virtual kvm is a software solution that allows the keyboard & mouse on one computer to control another (so it’s actually just a virtual kv, but who’s counting?) I use it on my desk at work; the desktop PC — an Athlon-powered Lenovo running Windows XP — is on the left, with the keyboard & mouse connected to it, and the PowerBook is on the right. I push the cursor to the right side of the PC’s screen and it jumps over to the Mac’s screen, and any keyboard or mouse input is transferred there. Almost like magic!


Synergy is one of the more popular bits of software for getting the job done, but in its native form, it lacks a lot in the way of user-friendliness. When I first set things up, I found QuickSynergy was an easy way to get the two machines talking to each other. And all was great. Great that is until I upgraded the OS on the Mac to 10.5.

Not sure what it was, but something in 10.5 broke QuickSynergy. Every time it launched, it would hang and finally crash. I wasted a morning trying to get it to work, and nothing seemed to help, so I thought I’d take another stab at setting up Synergy on the Mac side. I couldn’t get it to work the first time, but I should be able to pull it off this time.

Before I had a chance to even download it, I bumped into OS X Synergy GUI, another open source app that works with Synergy, making configuration a whole lot easier. It’s not quite as pretty or polished as QuickSynergy — and it could sure use a custom icon — but it works, so I’m glad I was forced to look again.

Provided you’ve got Synergy running on the server side, getting it to work is pretty simple:

  • Download the Mac Synergy client/server package and decompress it,
  • Download the OS X Synergy GUI package and decompress it,
  • Launch the GUI,
  • Point it to the Synergy client app,
  • Enter the IP address of the server,
  • Click Start.
  • The server portion in the GUI hasn’t been implemented just yet, but the client is what I need, and it works great; even better than QuickSynergy. It connects quickly, and even has a nifty info window that tells you every time the mouse enters or leaves the screen, and any other issue that it thinks you need to know about.

    You can quit the app if you like; the synergyc process continues to run and keeps things connected. The only issue I’ve found with quitting the GUI is that when I close the PowerBook and go home, when I open it up in the morning it doesn’t always connect. I then have to go into Activity Monitor, track down the process and kill it, then open GUI again and restart it. Much easier to keep GUI running, then hit the Stop button when I disconnect, and start it up again in the morning.

    Just for posterity’s sake, here’s the setup info for Synergy on the PC side. Sorry if I don’t get terribly technical with it; this is how I got it to work, and I haven’t tried to deploy it on other machines (yet) so my experience is pretty limited. Full documentation can be found at the project website — Link.

    This is the main screen for Synergy in Windows XP. Click on the Screens & Links Configure… button to set things up.

    In the Screens & Links window, click on the plus sign under Screens to set up the server and the client(s); you’ll have one entry for each machine that is controlled by the server’s keyboard & mouse.

    Here are the screen edit windows for the two machines I use in the setup. The Screen Name can either be the IP address for the machine or the machine name that’s registered with DNS (provided you’re on a Windows domain and everything is working as it should.) In my setup dthornton is the server machine and dave.local is the PowerBook that sits on the right side of the PC. I filled in the alias fields, but wasn’t able to get it to work. I didn’t dig very deep to try to figure it out either, so…

    In the Links window, for a two machine setup you’ll need two links; in my setup, when the cursor goes to the right edge of the server’s screen (dthornton) it jumps to the left edge of the PowerBook’s screen (dave.local). The second link tells the system that when the cursor goes to the right edge of the dthornton screen it’s to jump to the left edge of the dave.local screen. The first link tells it that when the cursor goes to left edge of the dave.local screen it’s to jump to the right edge of the dthornton screen. When I first set things up I didn’t have the first link; the cursor jumped to the PowerBook just fine, but didn’t know how to get back to the PC side. I suppose I could make things interesting and set it up so that the cursor jumps to the left side of the server screen when it’s pushed to the right side of the PowerBook screen. Or whatever combination you want.

    When the server and client are connected you get the green Synergy icon with the lightning bolt through it; click on the icon and you get the status window above. Right-clicking on it brings up a menu that lets you quit the app, reload the configuration, or whatever.

    Everything works great now except for one thing; copy/paste works fine going from the Mac to the PC, but not the other direction. It’s been that way since I first set it up, but haven’t really found the need to really dig into it. One of these days, when I’ve got some spare time… I won’t be holding my breath!

    Leave a Reply