Controlling multiple systems simultaneously with Synergy
Lateral Control

© Franck Boston, Fotolia.com
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 [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.
Listing 1
Case study
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
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.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
News
-
Red Hat Enterprise Linux 7.5 Released
The latest release is focused on hybrid cloud.
-
Microsoft Releases a Linux-Based OS
The company is building a new IoT environment powered by Linux.
-
Solomon Hykes Leaves Docker
In a surprise move, Solomon Hykes, the creator of Docker has left the company.
-
Red Hat Celebrates 25th Anniversary with a New Code Portal
The company announces a GitHub page with links to source code for all its projects
-
Gnome 3.28 Released
The latest GNOME rolls out with better contact management and new features for handling virtual machines.
-
Install Firefox in a Snap on Linux
Mozilla has picked the Snap package system to deliver its application to Linux users.
-
OpenStack Queens Released
The new release comes with new features for mission critical workloads.
-
Kali Linux Comes to Windows
The Kali Linux developers even managed to run full blown XFCE desktop via WSL.
-
Ubuntu to Start Collecting Some Data with Ubuntu 18.04
It will be an ‘opt-out’ feature.
-
CNCF Illuminates Serverless Vision
The Cloud Native Computing Foundation announces a paper describing their model for a serverless ecosystem.