This article is user submitted by rich0rd. You can also submit articles.
You have multiple computers, and your desk is cluttered with keyboards, mice, and monitors? You desperately need more space, and you are tired of moving your hands the long way from one keyboard to the next? Do not worry any more - rescue is here in form of synergy.
Synergy is a nifty little program which allows you to share your mouse and keyboard with other computers on your network. Just move the mouse out of your screen and it magically appears on the screen of the next computer allowing you to type there. Additionally, you can share cut and paste selections, so you can cut something on one screen/PC, move the mouse to the other screen and paste your selection there . Synergy is available for Windows (XP, NT), GNU/Linux, Mac OS X, and Unix. And the best thing is you can even mix different operating systems. Sounds interesting? So let’s see how it works.
Synergy is composed of a server (synergys) and a client part (synergyc) which communicate with each other over a network to exchange keyboard and mouse events. The server is started on the main PC whose keyboard and mouse should be shared, and the client is started on each machine which should use the input devices of the server. In the configuration file, you define which screen is to the left, right, top, or bottom of each monitor. (like in other multi-monitor setups). If the mouse is moved over an edge, the control events are sent over the network to the host which is defined in the configuration.
Get it
There are binary packages available at the synergy sourceforge page, but if you are using a OS with package management system I recommend checking if it is available there first. Install synergy on every machine which should participate in the input sharing.
In GNU/Debian based distros (sid/unstable in my case) type:
apt-get install synergy
Configure it
A sample configuration for three hosts (main, lefty, and righty) is provided below and is stored in your home directory on the server under .synergy.conf in GNU/Linux or provided to synergys with –config <configpath>.
section: screens
main:
lefty:
righty:
end
section: links
main:
left: lefty
right: righty
lefty:
right:main
righty:
left:main
end
In this configuration “main”, will act as the server, and its keyboard and mouse will be shared with “lefty” and “righty”. In the “screens” section the host names of all participating machines are listed and in the “links” section the layout of the screens is given. For each host, you can define which screen is at the left, right, top, or bottom. You don’t need to be consistent about the layout, and you could even create a wrap-around loop ( lefty <-> main <->righty <-> lefty …).
See the synergy configuration page for more options like shortcuts for screenswitching.
Run it
After you finished the configuration on your main machine, start the server with
synergys –config <configpath>
Note that you should run the server as a normal user.
On your client machines run:
synergyc <server-hostname>
The synerg client will leave the mouse and keyboard of the client machines fully functional, so you can switch to the other keyboard from time to time or let a second person type while you grab his mouse from time to time.
If you run into troubles, check the hostnames and your firewall settings. Make sure that you are allowing connections to port 24800 (synergy default port).
Secure it
Warning: Keyboard input is sent unencrypted over the network - this is a severe security issue because passwords could be read by anyone on the network. In GNU/Linux there is a simple solution for this dilemma (which is pointed out in at the synergy page) - just use ssh tunneling. You will need an ssh server on the server machine and on the client type:
ssh -f -N -L 24800:<server-hostname>:24800 <user>@<server-hostname>
This will create a forward to the server. You will now be able to connect with synergy to your localhost and the connection will be tunneled to the server. On the client type:
synergyc localhost
Easy handling with quicksynergy
For fortunate users of GNU/Linux and Mac OS X, there is also a nice simple configuration tool called quicksynergy. Grab it via your favorite package manager or download it from the sourceforge page. Run the tool on the main server and each client.

Related
There are some systems which are related to synergy. One of them is Distributed Multihead X (DMX), which allows the usage of multiple displays of multiple hosts on a single host. It is somewhat complicated to set up, and as far as I know it works only for X Windows systems and not for MS Windows.
Links
This article is user submitted by rich0rd. You can also
submit articles.