SolutionBase: Get control of remote Windows servers and workstations with VNC

You can buy commercial software and solutions to gain remote control over distant workstations and servers, but you don't have to. In this article, David Davis shows how to take advantage of open-source software like VNC to do the same thing.

Do you want to take control of your desktop or a server when you aren't in the office or server room? There is no need to pay for a monthly service like Gotomypc or to even buy a commercial application like PC Anywhere or others. VNC can handle all of this for you, for free. In this article, I'll show you how it works.

What is it?

VNC is an open source desktop-sharing application available for Windows. VNC stands for Virtual Network Computing. It was created by AT&T Labs and it is now updated and maintained by RealVNC.

If you are familiar with the Windows remote desktop protocol (RDP) application (also known as Terminal Services or Remote Desktop Connection), then you are familiar with the concept behind VNC. What makes VNC different is this:

  • VNC is freely available under the GNU General Public License. That includes the Source code.
  • Because the source is available, there are installable binary applications for just about every operating system you have ever heard of. At the end of this article, there will be links to the variety of VNC applications for different platforms available on the Internet.
  • Because it is available on so many platforms you can use a Windows machine to control a Unix machine or a Palm pilot to control a Windows machine or a Mac OS X system to control a Windows server.
  • VNC is tiny. The VNC client for Windows is about 280K. Plus, for the client, there is no installation to be performed, it can just run. This makes it very simple.

Because VNC's source is freely available it has been incorporated into a number of remote control products. There is also a VNC repeater that can act as a middle-man between a VNC server and client.

How do you get it?

Usually you would obtain the Free version of VNC from the RealVNC download page. Note that you don't really have to type in any information to download it and you can just click Proceed To Download. Once you're at the list of VNC downloads available, go to the Choose To Download The VNC Free Edition For Windows link. The unzipped executables for both the server and client are only 707K. Thus, you get the idea of how tiny VNC really is. If you are a programming type, you can also download the source for VNC at this website.

You should note that RealVNC also offers personal and enterprise editions of VNC that are not free. The personal edition of VNC offers encryption, support, simplified port assignments through HTTP. The enterprise version has all these features plus integrated Windows & Unix authentication as well as deployment tools.

How do you set up and install it?

I recommend downloading the Free Windows Edition ZIP file but either that or the executable will work fine. Both of these include the server and client. Click to Open the downloaded ZIP and you will see one executable file inside. Run the executable and go through the VNC Setup Wizard.

Accept the licensing agreement and install in the default location. You can choose to install either the VNC server, the VNC Client (called a Viewer), or Both.

Under the VNC Additional Tasks window, shown in Figure A, you will be asked if you want to run it as a service and start it automatically.

Figure A

You can configure VNC to run as a service.

This is very useful. With this, you don't have to worry about a user not being logged in or the server restarting and VNC not running. As a service, VNC will work no matter who is logged in. Once you say go the VNC installation is almost instantaneous.

How do you use it?

Assuming you did the service mode installation, VNC comes up with a Properties box after VNC is installed. You can see what this looks like in Figure B.

Figure B

You can configure how VNC works as a service on thisscreen.

On this window are controls for things like authentication, post numbers, and the detailed settings on how to control remote VNC control to your system. I highly recommend using at least a VNC password for authentication. If you will be using VNC over an unsecured network, like the Internet, it is recommended that you purchase the personal RealVNC version that has encryption or find another version that offers encryption.

If you just leave the defaults on this configuration window and say OK, you will be warned that there is currently no password configured on this installation of VNC and you will be prompted to configure one. After typing in the password, there are a couple of other minor windows to complete the installation.

Now that it is installed, you will see a VNC icon on in your taskbar. To take control of another workstation running VNC server, run VNC through Start | Programs | RealVNC | VNC Viewer 4 | Run VNC Viewer. Note: I recommend putting a shortcut on the desktop or in the Quicklaunch bar. When you run it, you will see a simple window asking for the DNS name or IP address of the client you want to connect to. Type the DNS name of the server and click OKas seen in Figure C.

Figure C

Enter the DNS name of the server you want to connect to.

Once connected, you are controlling the console of the remote system. This is like Remote Desktop that is allowed on a Window XP machine, you can only control the console. Unlike a real Windows Terminal Server, you do not have another session (login) on the system you are controlling, you are controlling the console. However, unlike Windows XP remote desktop, the end user can, by default, see what you are doing. On the top right left corner of the connected window there are options to help you do things like Ctrl-Alt-Delete on the remote machine.

Routing considerations

Keep in mind that, by default, VNC works on port 5900 and does not traverse a firewall. So, unless you configure your router to NAT inbound connections on port 5900 to a particular server, it isn't going to work over the Internet. Usually, people who use VNC to communicate from, say, a laptop, to a system on a private network, behind a firewall, do so with the help of a VPN client. By using a VPN client, you also don't have to worry about having no encryption on the VNC client/server because the VPN is encrypting all traffic going through it.

VNC Links

You can get other versions of VNC many places on the Internet. Some of the other implementations of VNC you can find include:

Powerful and free

VNC can be a very powerful tool for remote control both for home users with a single PC and going all the way up to large corporate users with thousands of PCs and/or servers.