Mac OS

Other OSs: Linux Windows ChromeOS/Browser Android iOS

This describes how to set up a VNC connection using standard MacOS programs. It is also possible to connect from a Mac using Chrome browser apps, please see the Chrome instructions for further details.

The instructions below are for the Chicken vncviewer, which can be downloaded from sourcefourge. Chicken (unlike the older Chicken of the VNC) supports tunnelling, so it should not be necessary to set this up manually.

Before opening the VNC viewer, you will need to SSH onto remote to start a VNC session on dataview, as described above. To do this, you should open a Terminal (or XQuartz) window then, at the command line, enter:

> ssh ⟨username⟩

You will be prompted for your password, once you give this you will be logged onto remote, from where you can logon to dataview to start you VNC session.

When you open Chicken, you will get a ‘VNC Login’ window with a number of fields on the right.. The top field is ‘Host’.You should fill in the name of the computer running your VNC session, e.g. ‘dataview’. The next is ‘Display or port’, you should fill in the display number here (e.g. 48 in our example above). You can enter your VNC password in the ‘Password’, or you can leave this blank and enter it when the connection is made. The ‘Remember Password’ check box should be obvious – you can check this or not depending on your preference.

For ‘Profile‘, I have never had a problem using the ‘Default Profile’. If you chose to change this, you can set the encodings, mouse button emulation, what keyboard modifiers will be sent to the remote computer by the Command, Option, Control and Shift keys, and what colour resolution to use. If you don't know what these options mean, you are advised to leave them alone!

The ‘View only’ check box will,if checked, allow you to see the remote VNC screen but not to interact with it. You don't want this if you're observing! ‘Allow other clients to connect’ allows others to join your VNC session. As mentioned before, this can be useful, so I advise checking it. The ‘Fullscreen Display’ puts your session into fullscreen. This does not use the standard MacOS fullscreen mode, opening in a new desktop, but enters its own mode. You can toggle between this and windowed mode using control-option-command-` (left single quote). I have found very little use for this, as it prevents you switching to any other window.

In order to set up an SSH tunnel, you must check the ‘Tunnel over SSH’ box. You can then enter the SSH host name on the line below, this should be ‘⟨username⟩’ (the same as used for the ssh command previously).

If you are using a recent version of MacOS, a change in SSH format caused the ability to form tunnels within Chicken to be broken and you will get an error when you try to connect. See the instructions on how to patch Chicken to fix this problem.

Having set up your session, you can now hit ‘Connect’. A dialogue box should now appear asking you to ‘Enter SSH password’. This is your Arecibo account password, not your VNC password. If you get this wrong, you will get an error:

Could not establish an SSH connection to server
Permission denied by SSH server

If you did not enter your VNC password earlier, another window (titled ‘RFBConnection’) will now appear with the message ‘Authentication Required’, asking you to ‘Enter password to retry’ You should enter your VNC password at this point. If you get this wrong (or if you entered your VNC password incorrectly on the ‘VNC login’ screen), you will get an ‘Authentication Failed’ message and will be asked again to ‘Enter password to retry’. You get a few attempts at this before you get the error:

Connection Terminated
Server Reports: Too many security failures

Once you enter you VNC password correctly, your VNC session will appear, You should be able to move around the screen, using scroll bars where necessary if the VNC screen has more pixels than your screen.

Alternative Method: If direct connection using Chicken does not work, you can set up the ssh tunnel directly using the ssh command. To do this, enter:

> ssh -f -L 59MM:dataview:59NN ⟨username⟩ sleep 14400

where NN is the VNC desktop number from above (including a leading 0 if necessary), and MM (again including a leading 0 if necessary) is the local desktop number (59NN is thus the port number on the remote machine, 59MM the port number on the local machine).

Having set up the tunnel, you can then use Chicken with ’Host‘ set to ‘localhost’ and ‘Display or port’ set to ‘MM’. You should not check ‘Tunnel over SSSH’ when using Chicken like this, ‘Tunnel over SSH&’ should not be checked.

Once you enter you VNC password correctly, your VNC session will appear, You should be able to move around the screen, using scroll bars where necessary if the VNC screen has more pixels than your screen.

Note that with this method of connecting the session will time-out after around 20 minutes of inactivity. The solution for this (thanks to Tim Robishaw) is to place the following line in your ~/.ssh/config file:

|Host * ServerAliveInterval 240|

This sends a message every 4 minutes, thus keeping the connection alive.