Lateral Control

Synergy is a small but powerful tool that lets the user control multiple PCs with a single keyboard and mouse – even across operating-system boundaries. To run Synergy, you'll need at least two PCs, each with its own operating system, monitor, and a working network adapter. The software supports Windows from 95 through to Vista, Mac OS X version 10.2 or newer, and Linux with the latest X server. Prebuilt packages for Windows and Mac OS X are available from the Synergy homepage [1]. An RPM package is available for Linux and can be installed on popular distributions, along with tools such as alien if needed. Some distributions also offer prebuilt packages; for example, Ubuntu has a synergy package in its Universe repository.

Let's imagine a typical network administrator's workplace with a professional desktop running on Ubuntu, and a small notebook running on Vista next to it. To remove the need to keep swapping between keyboards, the administrator decides to install Synergy. Most of the work will be done on the desktop, the Ubuntu system. In Synergy-speak this master system is known as the server, and the administrator will be using the keyboard and mouse attached to it. In line with this, all other devices are clients.

Enabling Universe

Ubuntu organizes its software packages in numerous repositories. Universe is a hold-all for packages that are not as comprehensively supported and maintained as some others. To use Universe, you first need to enable the entry in the /etc/apt/sources.list by removing the pound sign. Then, after running apt-get update, you can install various new packages, including Synergy.

Configuration

Before you start using Synergy, you need to configure the program by editing the /etc/synergy.conf or ~/.synergy.conf text files. The program relies on the concept of screens: Every computer in the group, no matter whether it is a server or a client, is a screen with a precisely defined position – just like assigning positions to applications on a multiple display setup. You must add the screen name, its aliases, and the position relative to the other devices to the configuration file. It is important to define the position in both directions, left and right. The setup for our case study, and comments on it, are given in Listing 1. There are many more options, all of which are documented on the Synergy homepage [2].

A word of warning: Make sure you write all the options in the configuration file in lowercase, and pay attention to line breaks because Synergy is finicky and will not load the file if you make a mistake. After you complete the setup, launch the Synergy server on Ubuntu as a normal user by typing synergys. Adding the -f prevents Synergy running in the background as a service.

QuickSynergy

QuickSynergy gives you an even more convenient approach to configuring the tool. On Ubuntu, you can download the QuickSynergy package from the Universe repository and install it, then launch it via Applications | Tools | QuickSynergy. Unfortunately, the program failed to launch a working server in our lab.

The Vista client – that is, the PC we will be controlling via the Ubuntu system – is easier to configure. After completing the install, you can launch Synergy directly via the Start menu, which takes you to a neat-looking graphical interface (Figure 1). To connect to the server, select the Use another computer's shared keyboard and mouse option and enter the name of the server machine. Professionals might also be interested in setting extras, such as the logging level, autostart, and network details.

Linking Screens

After configuring your clients, just type synergyc server IP (or click Start if you are working on Windows), to connect the screens. This is all fairly unspectacular at first – you can use both systems in the normal way.

But if you move the mouse cursor over the right-hand border of the screen on the Ubuntu desktop, it shifts to the Vista desktop, just like on a multiple display system – the difference is that you are using two operating system platforms. Keyboard input will also reach the client while the focus is on it (i.e., the mouse cursor is on the client screen). On top of this, Synergy synchronizes the clipboard between the two systems; according to the developers, automatically setting the correct character set and converting line breaks between operating systems – a perfect way of copying longer texts and configuration files centrally. Pressing Scroll disables Synergy temporarily if needed.

There are many more options that you can set in the configuration file. Among other things, Synergy supports keyboard mapping between the server and the clients, lets you configure screen areas where no screen paging will take place, and lets you run certain actions with the press of a button.

Of course, nobody's perfect, and Synergy failed on a couple of counts in our lab. For example, it failed to synchronize the screensavers and centrally lock all the screens.

According to the homepage, the Mac OS X variant of the program in particular is not as mature as the Linux and Windows versions.

Security Note

As Synergy's authors point out on their homepage, Synergy does not possess anything in the line of authentication or encryption [3]. To be on the safe side, you might like to set up an SSH tunnel and encrypt all your data.

Related content

Controlling two desktops with a single set of input devices: X2X and Synergy let the mouse cursor cross seamlessly between the desktops on two machines. Wikipedia founder Jimmy Wales looks to revolutionize politics with his Wikia Campaigns project. French Debian developers join forces to found Debian France, and introducing the new graphical installer for Sarge.

One of the highlights of the Consumer Electronics Show (CES) just ending in Las Vegas is Palm's offering of its WebOS for mobile devices. A fitting name for its coming attraction in mid-2009 that uses this OS is the Palm Pre, to be offered exclusively through Sprint.