Controlling multiple systems simultaneously with Synergy
Synergy lets you combine multiple PCs into a single virtual desktop.
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 . 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.
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.
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 .
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.
01 # Define screens 02 section: screens 03 ubuntu: 04 vista: 05 end 06 07 # Alternative names 08 section: aliases 09 # ubuntu -> desktop 10 ubuntu: 11 desktop 12 # vista -> notebook 13 vista: 14 notebook 15 end 16 17 # Screen positions 18 section: left 19 # vista: right of ubuntu 20 ubuntu: 21 right = vista 22 # ubuntu: left of vista 23 vista: 24 left = ubuntu 25 end
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.
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.
As Synergy's authors point out on their homepage, Synergy does not possess anything in the line of authentication or encryption . To be on the safe side, you might like to set up an SSH tunnel and encrypt all your data.
Buy this article as PDF
Innovative system adds a hard drive and Ubuntu Core to the RPi for an IoT hub.
Linux is two weeks younger than we thought!
The Apache Software Foundation considers retiring OpenOffice
Adobe won’t kill the plugin in 2017
Linux Foundation's big event celebrates the 25th anniversary of Linux
Competitors get in the game with RHEL without Red Hat
Security researchers have already notified Microsoft; some fixes are available
The company is collaborating with Google and Intel to use Kubernetes as an engine for Fuel