Article
9 comments

All About VNC

Vnc_logo

What is VNC?

VNC stands for Virtual Network Computing, and it is a desktop sharing system with a graphic user interface which allows you to connect and control a remote computer over a network or the Internet. Thanks to the RFB (Remote Frame Buffer) protocol it’s using, VNC applications send the keyboard and mouse events to a remote computer on the network (or the Internet) who’s screen is being shared, and it relays back the updates.

RFB (Remote FrameBuffer) is a simple protocol and since operates at the framebuffer level, it can be used on all operating systems with a GUI including Windows, Macintosh (Mac OS X) and Linux. Although RFB started as a very simple protocol used by VNC and its derivatives, it has been improved so as to support file sharing, advanced compression and security techniques in its development cycle.

Why VNC is used and How

With VNC you can display the screen of a remote computer on your own computer in a window or in full screen mode, and using your own keyboard and mouse on this screen, you can control that remote computer as if you are sitting in front of it. All actions taken on the view of the remote desktop on your computer are performed actually on the remote computer itself.

You can connect to and take control of a Mac or a PC using VNC, whether you are connecting from a Mac or a PC. Because of the use of the RFB protocol, the client computer and the server do not necessarily be running the same operating system.

VNC Components

  • The VNC Server VNC server is the host computer which would remotely be controlled by a client computer running a VNC client application to connect to it.
  • VNC Client is the computer running the VNC Client app, to connect to the VNC server and take over the control.

Setting up VNC on Mac OS X

Setting up Mac OS X 10.4 (Tiger) or Mac OS X 10.5 (Leopard) as a VNC Server

Mac OS X 10.4 and 10.5 come right out-of-the-box with VNC server components built-in, so all you need to do is to activate them.

  1. Open System Preferences from the Apple menu
  2. Go to ‘Sharing’ under Internet & Network category
  3. Activate the checkbox of Screen Sharing
  4. Go to Advanced Settings in Tiger, Computer Settings in Leopard, set the access privilege and the password for those who will connect to the machine remotely using VNC. (JollyFastVNC or Mac OS X Leopard’s ScreenSharing do not require this step although setting a password is highly recommended)
  5. Close System Preferences and you’re done.

Setting up a VNC Client on Mac OS X 10.4 (Tiger)

In order to connect to a remote computer from Mac OS X 10.4 using VNC, you need to install a VNC client on Tiger. Although there are commercial products such as RealVNC, a few freeware applications are also out there:

JollysFastVNC (free) as of this writing is said to be the fastest VNC client available for the Mac with far more features than its counterparts. (still at an alpha version though) – Download (775 KB)

Chicken of the VNC (free) is an older VNC client for the Mac and simply connects to a remote server using an IP address. – Download (1.2 MB)

RealVNC Viewer Enterprise Edition (commercial) featuring 2048-bit RSA server authentication and 128-bit AES session encyrption, RealVNC is a commercial enterprise-class VNC solution (server suite edition also available).

Setting up VNC Client on Mac OS X 10.5 (Leopard)

The Finder way

In this method, you will be using the ScreenSharing app which comes along with Mac OS X 10.5’s core services. ScreenSharing is a VNC client built-in on Leopard.

  1. Select “Connect to server…” from the Go menu in Finder
  2. In the ‘server address’ field in the opening pop-up window, type “vnc://” and then the IP address of the VNC server you want to connect to (for example: vnc://192.168.1.24)
  3. Click the ‘Connect’ button
  4. If it works, you have the option of connecting as a registered user or asking permission from the remote computer.
    1. If you choose to connect as a registered user, you need to enter the username and the password of an account set up on the remote computer.
    2. If you choose to ask for permission to connect, an invitation request will be sent to the VNC server and someone at that computer must grant you permission in order to proceed.

The iChat way

In Leopard iChat has built-in ScreenSharing. Although using VNC with iChat is not the best method, it is one of the simplest ways.

  1. Open iChat and enter your MobileMe account credentials, or alternatively you should be able to use ‘Bonjour’ if the remote computer is on the same network as yours.
  2. Select your buddy from the buddy list.
  3. You will see an icon in the shape of two small squares one overlapping the other with a small offset at the bottom of the iChat window. This is the ScreenSharing button.
  4. Select “Share my screen with “, or “Ask to share screen… “.
  5. iChat takes care of the rest. In order to end the screen sharing session, just press [Command (Apple)]+[Esc] on either computer.

Note: This method requires also someone to be present in front of the remote computer.

Suggestions and Warnings

  • If you are the one who sets up the VNC server, for minimal security you should set a password for VNC connection to your computer from “computer settings” in the Sharing pane of System Preferences.
  • If you have more serious concerns about security, it’s a better practice to configure VNC to accept only local connections, and then establish an SSH tunnel from the client computer. This way, all VNC packets between the client and the server will have been encrypted.
  • Since VNC in itself is not quite secure because of the protocol it uses, it is highly recommended that you disable it, reverting the steps described above i.e. going through the above described steps in reverse order, when you’re done using it.

9 Comments

    • JollyFastVNC and RealVNC have file transfer feature. Only RealVNC has the file transfer capability as far as I know at this time. Although for the Mac, RealVNC does not currently seem to have a non-commercial version except for a Java version source code – if you know how to compile it on the Mac, you could use that one. JollyFastVNC is open-source and free.

      An additional comments, Patrick? 😉

      Reply

  1. Well you should say maybe that JollysFastVNC supports SSH tunneling as well as SOCKs and SSL to secure connections not just some proprietary protocol that’s said to use RSA.

    Reply

  2. Pingback: oyyla.com

  3. Jolly fast vnc is not open source/ And was free only before 1.0 release. After 1.x all the releases are shareware. free to try but it expires about 30-35 days after you get it.

    If just going between 10.5 and/or 10.6 macs (no 10.4 or earlier), then all you need to do for encrypted keystrokes is this one step:

    Uncheck both these boxes under compter settings (and then reboot, which is important, as I’ve found sometimes the new settings don’t take until after a reboot).

    (UNcheck) Anyone may request permission to control screen

    (Uncheck) VNC viewers may control screen with password.

    The green way to do this would be to use timed wakeup or WOL to wake your mac from sleep when you need to get to it: apple has not quite got this working they way it would be needed in new airport modules. Should be easy if you use 3rd party software on a linksys WRT-54g for instance. About security… All these folks leaving their home mac running 24/7 with holes punched through the firewall are just asking to be hacked. At least lock your screen or logout folks! Opening up any file transfer other than ssh/scp/sftp with very strong passwords is also really exposing yourself, especially ftp and other clear-text password protocols. Just put the files up on a website.

    For 10.4 or earlier, the above steps do NOT ensure un-encrypted keystrokes. So for 10.4 and/or other non-macs you need to use ssh tunnel for encryption.

    Reply

Leave a Reply

Required fields are marked *.