Vintage VNC

By Connor Taffe | Published .

I run several VMs on ESXi 6.0, the last version to support the HP ProLiant DL380 G7 it runs on. The VMs are mostly *nix servers, there's also the odd server with a graphical user interface. One example is the Windows NT 4.0 Server1 VM I spun up to interface with the web UI on an HP DesignJet 650C network card. The card's web interface is constructed entirely of Java Applets, and only functions on IE 42 or Netscape Navigator 4.x (with the exception of 4.4), which must be running on Windows. Another is a Haiku instance.

I can access these UIs from the VMWare ESXi web interface, which on my local network is at https://vms.home.arpa, but it would be neat to access these instances outside of ESXi as well. Recently, I've been looking at software for the iBook G43 I picked up at an estate sale, which runs OS X 10.4.11 Tiger. While I could upgrade to OS X 10.5 Leopard, I likely won't before backing up so I can boot into multiple releases (such as 10.3 Panther, the last to support AppleTalk over Ethernet). Apple provides their own software for remote access, Apple Remote Desktop, version 2 replaced the underlying protocol with VNC. Virtual Network Computing (VNC) is the de-facto standard remote desktop protocol, and is supported by many open client and server implementations. Use ARD 3.0 and the 3.3 upgrade and these keys within the 3.0 installer. Software Update on OS X 10.4 will still locate the 3.4 update and install it.

iBook G4 running Apple Remote Desktop 3.3
iBook G4 running Apple Remote Desktop 3.3

WinVNC

On Windows NT, we can use WinVNC, which is the original VNC client and server developed by The Olivetti & Oracle Research Lab (ORL) at Cambridge. I installed the version distributed by Palm, and unzipped it with WinZip 8.0. To get the files onto the VM, since I didn't have a file share set up yet, I ran python -m SimpleHTTPServer 9000 within the extracted folder on my laptop and then pointed Internet Explorer 4.0 at that address. Once installed, we can navigate to Start, Programs, Vnc, then WinVNC Server (Install Service). It should prompt you to start it from the Control Panel, navigate to Start, Settings, Control Panel, Services, scroll down to VNC Server and click Start. Then reboot the VM, you should be prompted to set a password on the next login.

From the iBook, we can open Apple Remote Desktop, find the Windows NT machine in the Scanner pane, click Control and fill in the password (no username necessary). The window should display our remote desktop! If you see a black screen, try minimizing and then expanding the window.

Windows NT over VNC on Apple Remote Desktop
Windows NT over VNC on Apple Remote Desktop

From a Macbook Pro running a modern version of macOS, we can simply press ⌘-K from the Finder and type in our server's address, e.g. vnc://nt.home.arpa. The system will prompt for a password and then display the Windows NT desktop. You can press fullscreen and change the Windows NT display properties to the largest supported size, 2560x1600, for an immersive experience.

Windows NT over VNC on macOS Sonoma's VNC client
Windows NT over VNC on macOS Sonoma's VNC client

ESXi's VNC Server

We can also do this natively from ESXi, using its VNC server

Now shut down the VM you'd like to configure VNC for. Edit its settings, and under advanced add the following:

Field Value
RemoteDisplay.vnc.enabled TRUE
RemoteDisplay.vnc.port 5900
RemoteDisplay.vnc.password hunter2

Start the VM and you should now be able to connect ARD to the ESXi server's IP on the port configured above. For each additional VM, just change the port. I was able to connect ARD and even watch the boot-up sequence of the server, but the image was yellowed (apparently a product of the bit depth of the image) and not very high resolution. It also disabled the console in ESXi's web interface.

ESXi's VNC over Apple Remote Desktop 3.3
ESXi's VNC over Apple Remote Desktop 3.3

Apple Remote Desktop

We can also access our iBook over VNC4, because OS X 10.4 comes with its own VNC software installed. To enable it, find Apple Remote Desktop under Sharing in the System Settings:

OS X Tiger Sharing Settings
OS X Tiger Sharing Settings

then under Access Priviledges, select the users to enable remote access for and check at least Observe.

OS X Tiger ARD Access Priviledges
OS X Tiger ARD Access Priviledges

Finally, connect to the iBook from our client. In macOS we can do this via ⌘-K by entering the VNC address vnc://ibook.home.arpa or the Network pane in Finder since OS X advertises this feature via Bonjour. The above screenshots were taken from the macOS Sonoma VNC viewer.

Now I can do my OS X Tiger exploration from the comfort of a modern MacBook Pro. I do have to leave the iBook lid open; even when plugged in, the iBook will sleep if the lid is closed, reportedly unless it has a monitor and keyboard connected.


  1. The images for Windows NT Server 4.0 I used are titled winnt40_x86en_entsrv.d1.iso and winnt40_x86en_entsrv.d2.iso, they are available from the Internet Archive. To run it under VMWare ESXi, you also need VMWare Tools 3.5, which is still available from VMWare, without which the mouse will not function and the screen resolution will be rather limited. ↩︎

  2. A copy of the Internet Explorer 4.0 install disk is available on the Internet Archive↩︎

  3. To create a new admin account on an iBook G4 for which you don't know the existing admin password, boot into single-user mode by holding down ⌘-S while booting. Then run:

    mount -rw /
    rm /var/db/.AppleSetupDone
    reboot
    

    Upon reboot, the system will detect the absense of the .AppleSetupDone file and run through the initial setup wizard again, allowing you to set up a new admin account. ↩︎

  4. More information available in this blog post↩︎