At home I have two machines on my desk, my main desktop is running Ubuntu and I have a machine off to the right running XP. I have a craptacular KVM connected to them and when I use it to share the monitor I spend 87% of my computing time staring at and cursing the blur. I end up annoyed and cranky (and in turn, I end up annoying the Mrs.). I decided to drop an old Dell CRT onto my desk and use two monitors, aside from having an ugly old CRT on my desktop this has worked out well.
Instead of using the KVM’s toggle keystroke (scroll lock twice) to switch between machines I figured I should be able to slide my mouse off of one screen and onto the other. There are a few solutions that allow you to do this; while its not perfect, I’ve settled on Synergy.
For Synergy to work you need to install the software on all of the machines that you want to be able to share screens with. One machine will be the Synergy server, the remaining machines will be clients. Basically you have one
ring machine to rule them all. The server listens for the clients and once they connect, you can easily change from screen to screen.
Before moving on, let me tell you about the only issue I have with Synergy. The client machine’s monitor won’t sleep and about half of the time the screen blanking won’t kick in. While I could gripe about it, I won’t, the client machine in my setup is the XP box and really only gets used occasionally. It’s easy enough for me to just keep the monitor off most of the time. If thats unacceptable to you then I would wait until the issue is resolved or try x2x or x2vnc (see my notes at the end for a potential solution).
Ubuntu: sudo apt-get install synergy
You must have the Universe repo enabled
Fedora: su -c ‘yum install synergy’
You must have the Extras repo enabled
If you’re planning on sharing screens with a Windows or MAC machine you’ll have to download and install the Synergy software on that machine as well.
My configuration is pretty simple, the Linux machine is the Synergy server and the XP machine is the synergy client. My server configuration is below, “ubuntu” is the server host name and “xp” is the client host name. This configuration is stored in ~/.synergy.conf.
right = xp
left = ubuntu
The “screens” section defines the names of the screens you’ll be moving between, the docs recommend using the host names of your machines (you should be able to enter the IP addresses of your machines instead of the host name). The “links” section indicates which screen is adjacent in the given direction. If I drag my mouse off screen to the right I’ll be controlling “xp”, back to the left and I’m controlling “ubuntu”. You MUST configure both machines in the links section! If I had only configured the screen “ubuntu” to switch to “xp” I would be able to move my mouse over to “xp” but I wouldn’t be able to move back.
The Windows XP client is set to automatically connect to “ubuntu” when the computer starts. Installing the Synergy software is simple in Windows, just download it from http://synergy2.sourceforge.net/ and install. I chose to have it automatically connect to the server when the machine starts so that it runs as a service and connects whether I’m logged in to Windows or not. These are all options within the program and are pretty self explanatory.
Oh and I forgot to mention, you can copy the paste buffer from machine to machine. That has been VERY handy. I got a link to a Flash 9 video via IM and just copied it from the Ubuntu machine to the XP machine and watched.
As I’ve said, my set up is simple, you can get very complex with this software and there’s a lot of great documentation over on the Synergy site.
Autostarting Synergy on Linux is explained on the Synergy site. Since my home machine automatically logs my account in at startup, I just have a small startup script launch the server (/usr/bin/synergys —config ~/.synergy.conf)
Synergy supports screensaver syncing, so that might be an option for screen blanking. I haven’t tested it as I don’t use a screensaver on my Ubuntu machine.
Synergy can be configured to work through an SSH session. I have no need for that at home. I did attempt it here at work and found the lag to be unacceptable. You may have better luck on your personal network.
You could try similar applications like x2vnc. I had played with this one before and found the lag on the “remote” machine to be frequent and made the software unusable. YMMV.