The Death of the KVM Switch
Posted: June 23rd, 2010 | Author: Alex | Filed under: Computers | Comments Off
This post is the first in a series tentatively titled “First-World Problems: How I Use Way Too Many Computers”. It’s true, I use and administrate way too many computers. Many times, I’ve had to interact with multiple different computers at a time, whether it’s to download patches or because one machine has specialized hardware for a particular task. It’s sometimes useful for those computers to share a keyboard and mouse, particularly so I don’t have to switch back and forth between two keyboards all the time. Traditionally, people have accomplished this with KVM (Keyboard, Video and Mouse) switches. A KVM switch has two or more input connections and an output connection; simply hook your computers to the inputs and your keyboard, mouse and display to the output and viola, you can share them.
I’m going to assert that KVM switches are awful. There are a couple reasons why:
- You have to switch back and forth between machines with a key combo. Often, this combo is not documented anywhere on the switch itself. Almost always, it’s non-modifiable. Always, it’s cumbersome.
- KVM switches are stuck in 1997. Most KVM switches use PS/2 and VGA connectors. Getting this to work with computers that use USB and DVI requires a bunch of separate dongles that only nerds like me have in abundance. Good luck finding a native USB/DVI KVM switch for under $150.
- More cables. Seriously, I’ve got enough cables cluttering up the back of my desk, I’d rather not introduce more cables if I can avoid it.
Thankfully, there are software solutions that allow you to bypass the need for a KVM switch altogether.
Synergy allows you to use a single keyboard and mouse among an arbitrary collection of computers. Synergy runs a server on the machine with the keyboard and mouse attached and clients on all the other machines. The user specifies how the displays of these multiple machines are arranged with respect to one another; for example, I could say that my laptop’s display is to the left of my workstation’s display. Synergy detects when the mouse hits the edge of a display and “switches” the keyboard and mouse from one computer to another based on the configured arrangement. So when my mouse hits the left edge of my workstation’s display, it is seamlessly transferred to the right edge of my laptop’s display. I’ve used Synergy this way for a while now, and I’ll never even think of buying a KVM just to share a keyboard and mouse again.
Of course, Synergy doesn’t take care of sharing a single display between multiple computers. Most monitors have multiple inputs, and if you’re willing to press the input change button, Synergy might still work, but it’s still cumbersome. Another alternative is to use VNC. VNC is a communications protocol, and is implemented by a ton of different clients for all platforms (Google “VNC” for a list of the big ones). It essentially allows you to view and control another computer remotely. Those of you running Mac OS X Snow Leopard will probably use Screen Sharing for this, but under the covers it’s still VNC.
Both these solutions are cross-platform, pretty easy to set up and have a wide range of graphical helper applications and front-ends. They share the common disadvantage that they send data unencrypted, which means that any enterprising hacker could view your keystrokes as they travel over the network. Thankfully, it’s easy to solve this problem. There are a number of applications that will create a secure tunnel between two computers (Google “SSH tunnel” for more information). Alternative protocols to VNC like NX provide all the functionality of VNC over an encrypted connection. There are a lot of options, and the best part is that almost all of them are free.
So in short, if you’re thinking of buying a KVM, save $100 in cables and dongles and use software instead.