When I was at the ABA TechShow I got to hang out with Erik Heels, who showed me a great thing called VNC, which stands for ‘virtual network computing.’ VNC is a free cross-platform way of taking control of another computer from a remote computer.
So if you want to control your main home computer from another computer here’s how you do it (assuming you have a Mac, since that’s how I did it, but you can do it with Windows or Linux machines): Download and install OSXvnc 1.33 on the computer you want to control. Run the OSXvnc server, create the password that will be required to access the computer, and note the IP address.
Then download the VNC client (again, this is a link to a Mac version) and install it on the computer you want to use to connect to the target computer. Open up the client program up and enter the IP address of the target computer and enter the password. Then, if all goes well you will magically see the screen of your target computer, and you will be able to operate the mouse and basically control the computer as though you were using it there in person.
The next trick would be to open up a port on your home firewall (your router is a firewall) and if you get the public IP address of your home internet connection you can control your home computer from anywhere in the world. Why would you want to do that? Well, because you can.
I’m going to try this next step soon, but first I have to get acquainted with the Apple Airport router. This weekend I switched out my Linksys Router/WAP/Booster for an Apple Airport Extreme. I did this more to clear out some weirdness that was preventing my home Macs from sharing files with one another. File sharing is now underway, and at the 54 Mpbs (theoretical) speed, which is faster than the 11 Mpbs of my old wireless network. So, next weekend’s project will be to expand the reach of my control. I’m sure it’s easy to port-map (or whatever it is I have to do to get to my home computer from outside my home network), but if any of you Mac ubergeeks know how to do this and want to send me the instructions I’d be most appreciative. On the other hand, if you want to help me build my ‘tech-character’ you’ll ignore this plea and force me to figure it out myself.
Update: an knowledgable reader of this weblog named Thomas wrote in to point out that VNC traffic is unencrypted. But Thomas points out that there is a solution, which you can read about if you click on the ‘Continue Reading…’ link below.
If you run VNC over SSH, then a) the traffic is encrypted, and b) it is even faster over a slow link because the encryption also compresses the network traffic. This is what made it possible for me to control my Beige G3 (at home) from my iBook while riding up the Interstate yesterday via a cell phone modem connection.
To use VNC over SSH, you need to:
1) set the VNC server to accept connections only from localhost (it’s a checkbox in the preferences)
2) from your client computer, open up a terminal window and type:
ssh -L 5900:127.0.0.1:5900 -N email@example.com
This will prompt you for the password to your account on the server. The first time, it will also ask you to accept the key of the home machine.
3) Start Chicken of the VNC (or whichever VNC client you want) on your client computer and tell it to connect to port 5900 of ‘localhost’ rather than using the “your.servermachine.com” name.