Eight years ago, I worked at a company where I had both a Linux desktop machine and a Linux laptop. The laptop was the primary machine — for coding, documentation, and carrying around to meetings (back when WiFi was cutting-edge technology that few people knew about.) The desktop was the workhorse for large builds and a network file store. At that job, I learned about a little application called x2x. It lets you share a single keyboard and mouse between two X-Windows machines, similar to a Keyboard-Video-Mouse switch. When you drag the mouse off the edge of one screen, it appears on the edge of the neighboring screen. Effectively, you have what appears to be one large desktop spanning both machines. It is not really a huge desktop–you can’t drag files across, but the pasteboard works across the machines.
At the current job, I have a dual-headed Linux desktop, with my PowerBook sitting off to the side (handling email, documentation, and that sort of thing.) I discovered an app called X2VNC that does a similar thing — giving me a nice three-screen, two-machine “desktop.” From the X-Windows box, you can drag the mouse off-screen and on to the screen of a machine running VNC. It’s the same concept–the main machine must be X-Windows (and therefore Linux), but the remote-controlled machine can be anything that runs a VNC server. It mostly works, but there was a particular case (when you use the mouse and keyboard to remotely shut down VNC) in which the mouse and keyboard are rendered inoperable on the Linux machine and requires a reboot. (Technically, no, you can ssh into the box and start killing processes, but still…)
The other day, a coworker (hi, Daniel!) pointed to an application called Synergy that does the same thing, but is totally cross-platform. Both the client and server can be run on all major operating systems: Windows, OS X, and Linux! It also seems much more stable than X2VNC.