Synergy, on keyboard and mouse, several computers

October 27, 2008

At home I’m using my laptop as well as a stationary computer running Windows. This computer is primarily used for keeping status screens of my work data center as well as my mail client running, nicely displayed on a 24-inch LCD positioned above my laptop screen.

I do want to be able to use this computer also, and this is where Synergy comes in. Synergy is a program that I run on both computers (QuickSynergy is the name of the Linux client, which is available in the regular Ubuntu repositories). Synergy takes the keyboard and mouse movements, and sends them, over the network to other computers.

What I do is that I tell synergy on my stationary computer to “Use another computer’s shared keyboard and mouse (client)” and enter the host-name of that computer in the field “Other Computer’s host name”.

On my laptop I run QuickSynergy and under the tab “Share” enters the computer name of the stationary computer in the field above the computer and hit Execute. After this I go back to my stationary computer and hit “Test” if everything works fine I can just press “stop” to end the test and hit “Start instead”.

What happens now it that as soon I move my mouse pointer up to the edge of my laptop screen it jumps over to the stationary computer, as well as moving focus for my keyboard to the stationary computer. It works exactly as having to screens attached to the same computer, ultra-cool if you ask me.

One thing I had to work a little with is the naming in Synergy. My stationary computer is a Windows machine, where I enter the hostname “johan-laptop” which can be found by writing “hostname” into a terminal or by just checking the portion after the @ in the terminal prompt:


On the Windows machine I had to look by right-clicking the “my computer” choosing “properties” and hitting the tab “Computer name”. Full computer name is: johan-c234805.

What I did wrong was to enter that name without the period. Windows computer-names seem to include a period (.) in the end by default which might seem odd, but it works.