There are many occasions at which a user needs to use two computers at the same time, even with two different operating systems, all in the same desktop. One of the most annoying things that might happen is that you will need to use a different set of keyboard and mouse for each computer with the resulting waste of space on your table.
One of the first solutions that firstly came to mind was to use only one set of keyboard and mouse to access the other computer through some kind of terminal software such as VNC, ssh, FreeNX,… but, sometimes we would prefer to really use the other computer, providing us with access to two real screens (very comfortable), for graphical design tasks, games, closer feeling to the user interface, etc. This is the case we are going to talk about.
What is synergy?
Synergy is a multi-platform client-server program designed to share the same keyboard and mouse for different computers connected by network.
How do yo use it? (in other words, how to change from one computer to the other): The basic usage consists of just moving the mouse pointer from one screen to another, though it also includes some kind of protection for those cases when the pointer is at the corner of the screen for other purposes like closing a window using the x at the top-right. Nevertheless, the option to configure a keyboard shortcut to move between screens is given.
The configuration is pretty straightforward: you need to define the screens’ layout (which screen is situated on the right, left, top, bottom).
For example, if we had two computers, one called “desktop” and the other one “laptop”, and we wanted to use the keyboard from desktop (then desktop will act as the server), we need to write the following configuration file in
/etc/synergy.conf, or any location if we started synergys with the --config PATH_TO_CONFIG flag.
section: screens desktop: laptop: end section: links desktop: right = laptop laptop: left = desktop end
Computer names are the same name the
hostname command reports.
Then, in the computer that acts as server we will execute, to read the configuration from
Or, to read the config from our home directory:
$ synergys --config ~/.synergy.conf
And then, in each client computer:
$ synergyc SERVER_IP
If we have problems, we can track them using:
$ synergyc -f SERVER_IP
In the project’s webpage you can find very good documentation.
Please note that synergy doesn’t offer secure connections yet, but we can use any VPN or SSH tunnel to avoid our sessions being captured in the network. See the security page in the project’s website.
Also check the quicksynergy package, which is a graphic user interface for synergy.
Synergy has been available at the Debian and Ubuntu repositories since long ago.
Thanks a lot to Fran Hermoso for the extensive text correction and improvement and to Peral for showing me synergy.