Synergy shares keyboard and mouse across multiple systems

This morning I read in the Code Project newsletter about Synergy, an open source software package that allows you to share a single keyboard and mouse between multiple workstations (each with their own monitor(s)).  Since I regularly work on three different systems in any given day, and I often find myself using the wrong keyboard while staring at the screen and wondering why no text is showing up, this looked like just the thing for me.

Synergy lets you configure one of the systems as a server (the one to which the keyboard and mouse that you want to share are connected), and any number of other systems as clients.  On the server, you describe where each screen is in relation to all of its neighbors.  Then, as you move the mouse  to the edge of one monitor that borders another, focus shifts to that monitor (and the system attached to it).

Here’s the main configuration panel on Windows:

You install Synergy on every computer involved, and then use this panel to designate the server (as shown above) or client.  On the server, you then click the “Configure…” button:

This dialog is somewhat counter-intuitive.  The first thing you must do is add “Screens” by pressing the “+” button under that listbox.  You must add the server’s name and all of the clients here.

Then, in the bottom section, you start by entering the data in the “0 to 100%” line of edit boxes.  They don’t explain what some of this means:  the percentages refer to how much of that border is adjacent to the other monitor (which allows you to have, for instance, one large monitor with two smaller ones stacked vertically beside it — each might use 50% of the larger screen’s border).  The first dropdown indicates which side (left, right, top, or bottom) of the system selected in the next dropdown is adjacent to the system selected in the last dropdown.  Once you’re done figuring that out, don’t forget to press the “+” sign below it, or it won’t be saved!  Design note:  save everything I type when I press OK — unless I delete it, please.

Notice how you have to define both relationships for every pair of adjacent monitors:  “ninkasi is to the right of enlil”, and “enlil is to the left of ninkasi.”  This lets you specify varying percentages — but if you forget to define both directions, your focus will get trapped in one of the sessions.  Fortunately, all you need to do is terminate that session to restore focus to the server.

Once you have all of the relationships set up, press “Test”.  Then go to each client, run Synergy, enter the server (first time only) and press “Test”.  If you encounter no errors, you’ll be able to move the mouse all the away across all of your monitors.  Try typing into applications on each one — you can even copy/paste between them!  Text or graphics!  Synergy uses TCP/IP to transfer the clipboard, as well as mouse and keyboard events.

I was impressed that this seems to work well on Vista x64, even though it’s a 32-bit executable.  It seamlessly ties my 64-bit systems together with an old 32-bit XP system as well.  It’s supposed to work with OS/X and Unix systems, too — but I haven’t tried those out yet.

Synergy nicely handled the dual monitor configuration on my server system, detecting the right edge as being the right side of my laptop monitor, even though my second monitor is on the left and is configured as primary.

I tried setting up hot keys so I could switch monitors without using the mouse, but this seemed to work very sporadically.  After playing around with it for a while, I managed to render my right parenthesis unusable.  Shift+0 was just a dead key.  Rebooting sorted that, though.  Oh well, reaching for the mouse is still easier than reaching for a different keyboard.

To run for real, press “Start”, which removes the UI and shows a taskbar icon instead.  You can also configure AutoStart from the button on the main panel.  Starting on login worked well for me, but starting on system startup didn’t seem to take (on Vista x64).  That means, of course, that I still have to keep my other keyboards handy in order to login.

I also had trouble connecting a client that had the Cisco VPN client running, even though I could map shared drives on that system.  In fact, if the workstation with the active VPN had any drive on another workstation mapped, I couldn’t connect that workstation, either.  However, if I got all systems connected before starting the VPN client, all worked well.  So, my daily routine will be to login to the server system first, then login to each of my clients, then start the VPN, then play Evil Genius all day.

MUWAHAHAHA!

[Via MUO]





47 Responses to Synergy shares keyboard and mouse across multiple systems

  1. I’ve been using Synery for many years now, I’ve got a linux desktop as my main machine at work, and a windows laptop for any windows tasks I can’t do on the linux box (mainly Active directory & lotus notes admin).
    It’s a great bit of software, only thing I don’t seem to have working anymore is the sync between screensavers (it used to lock both screens when one was locked..)

  2. Please try Input Director. It's been around a while and I find it much easier to configure and easier to understand than Synergy. Basically it's the same concept as Synergy without the weird, hard to understand dialogs. It also provides screensaver syncing support. There is also extensive macro and hotkey support. Oh, and it's completely free freeware and works on both x32 and x64 versions of Windows.

    • Thanks, matthew. Looks like Input Director is Windows-only. I'm hoping to spin up FreeBSD sometime soon, and Synergy's UNIX support makes me hopeful that I can still share input devices in that mixed OS scenario.

  3. I've been using Synery for many years now, I've got a linux desktop as my main machine at work, and a windows laptop for any windows tasks I can't do on the linux box (mainly Active directory & lotus notes admin).

    It's a great bit of software, only thing I don't seem to have working anymore is the sync between screensavers (it used to lock both screens when one was locked..)

  4. Please try Input Director. It's been around a while and I find it much easier to configure and easier to understand than Synergy. Basically it's the same concept as Synergy without the weird, hard to understand dialogs. It also provides screensaver syncing support. There is also extensive macro and hotkey support. Oh, and it's completely free freeware and works on both x32 and x64 versions of Windows.

    • Thanks, matthew. Looks like Input Director is Windows-only. I’m hoping to spin up FreeBSD sometime soon, and Synergy’s UNIX support makes me hopeful that I can still share input devices in that mixed OS scenario.

  5. Hi all. I have yet to try synergy, but I am looking for something that does a different thing. Is there a product or a software that lets me create multiple virtual machines, and then let other people use those machines with an independent input device?

  6. @Mik

    How about use any VM Software (like VMWare), give every VM an individual IP and connect to the various guests trough RDP or VNC ?

  7. Hi all. I have yet to try synergy, but I am looking for something that does a different thing. Is there a product or a software that lets me create multiple virtual machines, and then let other people use those machines with an independent input device?

  8. @Mik

    How about use any VM Software (like VMWare), give every VM an individual IP and connect to the various guests trough RDP or VNC ?

  9. Synergy is great and I use it at home all the time. if you notice any keyboard glitches I usually just go back between screens and it fixes it.

    Just be aware that it does not require any authentication and uses no encryption so all key strokes, including passwords, get broadcasted over your network. Fine for me on my home network but I do see how it could be a security concern. You can set it up with ssh to tunnel the computers together, though I haven't tried it

    There are a few commercial options which offer more security even if they do require a connection cable.

    here is one example.
    http://www.clixon.co.kr/eng/sub01.php

    • USB instead of TCP/IP isn't a bad idea at all, especially from a security perspective. Fortunately, my LAN is behind a locked down firewall device.

    • x2x – You need an X server

      Synergy – Compatible with Mac, Windows, and *nix.

      Synergy isn't exactly new, as the last release was Apr-02-2006, and the program was originally developed in 1996.

      Reinvent that…

  10. Synergy is OK, but I find that if you run it long enough (on two XP machines), it starts failing to transmit keyboard stroke like CTRL combos or tabs.

    For pure Windows setups, I definitely would go with Input Director! Synergy for multi-OS setups (tho I tend to use VMs for that myself)

    Also, Synergy development has been abandoned (last release 05/2006), while Input Director is still being actively updated (last release 09/2008).

    Just my two cents!

    • Thanks for the input, Tyler. As noted in the post above, I saw a few keyboard glitches myself in Synergy.

      Maybe they haven’t updated since 2006 because they think they’re done?

    • As far as I can tell, rdesktop only provides a remote Windows desktop on a *nix client, rather than sharing input devices across different systems that use different monitors.

  11. Synergy is OK, but I find that if you run it long enough (on two XP machines), it starts failing to transmit keyboard stroke like CTRL combos or tabs.

    For pure Windows setups, I definitely would go with Input Director! Synergy for multi-OS setups (tho I tend to use VMs for that myself)

    Also, Synergy development has been abandoned (last release 05/2006), while Input Director is still being actively updated (last release 09/2008).

    Just my two cents!

    • Thanks for the input, Tyler. As noted in the post above, I saw a few keyboard glitches myself in Synergy.

      Maybe they haven't updated since 2006 because they think they're done?

    • As far as I can tell, rdesktop only provides a remote Windows desktop on a *nix client, rather than sharing input devices across different systems that use different monitors.

  12. Synergy is great and I use it at home all the time. if you notice any keyboard glitches I usually just go back between screens and it fixes it.

    Just be aware that it does not require any authentication and uses no encryption so all key strokes, including passwords, get broadcasted over your network. Fine for me on my home network but I do see how it could be a security concern. You can set it up with ssh to tunnel the computers together, though I haven't tried it

    There are a few commercial options which offer more security even if they do require a connection cable.

    here is one example.
    http://www.clixon.co.kr/eng/sub01.php

    • USB instead of TCP/IP isn’t a bad idea at all, especially from a security perspective. Fortunately, my LAN is behind a locked down firewall device.

  13. Maybe is there some os x users. If you have a similar layout but based on apple systems, perhaps would you like to give a look a telelport. It is similar to synergy, but works only with os x. Besides, it allows you to move windows to an other screen of a different computer.

    http://en.wikipedia.org/wiki/Teleport_(software)

    Personally, I have a couple of workstation and a notebook, all of those running linux, and I use teleport since a while, it is sooo cool to use only one keyboard/mous set.

  14. Maybe is there some os x users. If you have a similar layout but based on apple systems, perhaps would you like to give a look a telelport. It is similar to synergy, but works only with os x. Besides, it allows you to move windows to an other screen of a different computer.

    http://en.wikipedia.org/wiki/Teleport_(software)

    Personally, I have a couple of workstation and a notebook, all of those running linux, and I use teleport since a while, it is sooo cool to use only one keyboard/mous set.

    • The leftmost monitor is connect to the laptop as a second monitor. The other two monitors are on two separate systems. Synergy communicates with those systems over the local network to control them from the laptop.

    • The leftmost monitor is connect to the laptop as a second monitor. The other two monitors are on two separate systems. Synergy communicates with those systems over the local network to control them from the laptop.

  15. i have dual monitors, but id like to use other laptops to work as extended monitors to my main setup. Maxivista is used for this. Anyone have any experience? however, im not able to use it bc / i have vista 64 bit. sucks alot bc/ id rather have XP , but finding the drivers for xp would be a huge headache.

    • I haven't tried MaxiVista yet, but it looks like XP is supported. As you alluded, they don't support Vista x64 yet, and even Vista 32-bit seems to have a lot of limitations.

  16. i have dual monitors, but id like to use other laptops to work as extended monitors to my main setup. Maxivista is used for this. Anyone have any experience? however, im not able to use it bc / i have vista 64 bit. sucks alot bc/ id rather have XP , but finding the drivers for xp would be a huge headache.

    • I haven’t tried MaxiVista yet, but it looks like XP is supported. As you alluded, they don’t support Vista x64 yet, and even Vista 32-bit seems to have a lot of limitations.

  17. Synergy does only a fraction of what MaxiVista does. It is like comparing apples with pies.

    The main feature of MaxiVista is sharing of monitors not just remote controlling. MaxiVista does that as a side dish.

    Simon

  18. Synergy does only a fraction of what MaxiVista does. It is like comparing apples with pies.

    The main feature of MaxiVista is sharing of monitors not just remote controlling. MaxiVista does that as a side dish.

    Simon