2006-01-30

Synergy versus x2vnc

I've long used x2vnc, but before I start, I should make an admission. Around 2000 I woke up in a hotel room in Milan with roughly the x2vnc idea. When I got home, I implemented the idea. Pleased with it, and having persuaded a colleague or two of its usefulness, I looked about for somewhere to contribute it, and found x2vnc had beaten me to it. Almost exactly the same, except my clipboard handling was more modern, I ditched my program and became an x2vnc user. My time's divided finely enough between the applications I do support, without me adding new ones willy-nilly.

Although I don't know my usernames and passwords, I seem to have two sourceforge accounts because I get two identical mails a month showing me, amongst other things, the most popular sourceforge projects. I always have a look, if only to snigger at the number of IRC clients, IM clients, and BitTorrent clients. Recently, though, two new entries caught my eye. One was a Win32 RSS reader that's so bad it's almost funny, and which manages to make SharpReader look good. I've given up reading RSS on Win32 thanks to those two.

The other interesting new entry, though, was Synergy, a modern alternative to x2vnc that's better in many ways. I'll assume below that you've used x2vnc. If you haven't, I recommend you don't bother reading my comparison below, and go straight to Synergy.

Synergy pretty much fixes all the things I dislike about x2vnc. Synergy's improvements over x2vnc include:

  • Synergy automatically restarts itself if a connection is lost.
  • Synergy automatically skips over a non-responsive computer if you have another display logically on the "other side" of the non-responsive computer's display.
  • Synergy supports Mac OS. (There's a client and server for each of Mac OS, Win32, and X11. You can connect up any combination of these.)
  • Synergy's server/client distinction gives you one single convenient point of configuration, making it much easier to set up connections to more than two machines (with arbitrary topology between their displays).
  • Synergy understands the difference between the X11 selection and the X11 clipboard, and sets the X11 clipboard. That is, it works much better with modern X11 applications.
  • Synergy seems to suffer much less than x2vnc from the problem of stuck-down modifier keys.
  • Synergy correctly handles starting when Windows starts, and continuing to work when I log in. (WinVNC and x2vnc used to manage this, but it hasn't been working for a while, and the morning I finally switched, I just couldn't get them to work after I logged in at all. Synergy "just works".)
  • Synergy's client and server have none of the overhead of VNC. They just care about key and mouse events. If you need the VNC functionality, you might see this as a negative.

There are just a few areas where it's still lacking from my point of view:

  • The documentation doesn't make the usefulness of aliases obvious. The "Three Stooges" example may have seemed funny at the time, but it disguises the fact that you will need this feature if, say, one of your machines thinks of itself as "machine.my.domain.net" rather than just "machine". (My Mac OS machine suffers this.)
  • There's no easy way to automatically start up on Mac OS. I think this is by design on Apple's part, for security reasons, but it's a shame. (GNOME correctly saves the server as part of your session, or you can add the line "synergys" to your .Xsession, and the Win32 client has a button you can click on to make it start as a system service.)
  • There's no easy support for authenticated and encrypted communication, so all your keystrokes go out in plaintext. (No competitor I'm aware of offers secure communication either, though Synergy's to-do list suggests it's on the plan.)
  • Cygwin's rxvt doesn't work for me. Everything I type seems to be interpreted as a control character. Luckily, Terminator for Cygwin is in pretty good shape now, and a superior replacement.

Despite these niggles, I'm converted. I wonder how many more years before sourceforge's newsletter next recommends something worthwhile?