This loads a font easier to read for people with dyslexia.
This renders the document in high contrast mode.
This renders the document as white on black
This can help those with trouble processing rapid screen movements.

Running AIPS at the ATNF: TV Servers

AIPS has a strong assumption within it that you are using local machine resources, for computation and data display. It is possible to run on a remote server, but AIPS still assumes you will have local display devices:

  • a TV server for image display
  • a MSG server for text messages from tasks you are running
  • and a TEK (Tektronix emulator) server for plots.

To do this, your AIPS session on the remote computer needs to start programs running on the computer you are sitting in front of. And doing that involves logging in from the remote computer to the computer you are sitting in front of, without a password.

This can be done in two ways, via SSH, or via RSH. SSH is the preferred method, as it is somewhat more secure, but it requires somewhat more setup. We are now actively discouraging RSH.

Below we outline the various options for starting AIPS.

[ local servers | remote ssh-agent | remote servers | no servers ]

Servers running locally (AIPS default)

This starts a TV server on the local machine, the one you are sitting in front of. Running the TV server locally makes refreshing the display much quicker, because far less data has to travel across the network. AIPS starts the display by logging back in from the remote machine to your local machine and running the START_TVSERVERS command.

Here's what to do:

  1. Take 5 minutes to set yourself up to log in with SSH keys.
    You only need to do this once.

  2. Start your ssh-agent and load your private key into it:

    localhost% eval `ssh-agent`
    localhost% ssh-add
    Enter passphrase for fred@example:
    localhost%

    Essentially, ssh-agent does your password-typing for you. Once you ssh-add your private keys to the agent, it is able to respond to authentication requests on your behalf, using your keys. Sure, when loading the key you need to type your passphrase, but this is just proving to ssh-agent that the key is yours. You won't have to type your passphrase again, until you stop running the agent.

    The rather odd 'eval' syntax sets up some SSH-related environment variables in the current environment. If you didn't do it this way you would have to make ssh-agent start a shell for you, e.g.:

    localhost% ssh-agent /bin/tcsh

  3. Ensure sshd is running on your machine, for example :

    localhost% ps -ef |grep sshd
    root 3494 1 0 Sep26 ? 00:00:00 /usr/sbin/sshd
  4. Login to the remote machine and start AIPS

    localhost% ssh -A remotehost
    remotehost> aips

    The -A option will forward authentication requests from the remote machine to your local ssh-agent. This will allow AIPS on the remote machine to ssh back into your local workstation and run the TV Server program.


ssh-agent on remote machine

If the remote machine does not have sshd running (ie you cannot ssh into it) or you cannot run ssh-agent on your local workstation, you can run ssh-agent on the remote server.

Once you have logged into the remote machine do this:

remotehost> eval `ssh-agent`
remotehost> ssh-add
Enter passphrase for fred@example:
remotehost> aips

...do your AIPS processing...

remotehost> eval `ssh-agent -k`

This sequence starts ssh-agent running, loads the private key into the agent, and starts AIPS. The last command kills the ssh-agent.


Running all services on the remote server

In some circumstances you cannot run the TV server on your local machine; for example when working from a diskless X Terminal.

In these cases you need to tell AIPS to run the TV Server on the remote computer (ie the one you logged into to type aips), and send the display to your screen.

Because multiple people may be using the same remote server, it is possible to be allocated someone else's TV server. The safe way to do this is:

remotehost> aips tv=local:0

This method ensures AIPS gives you the next available TV server and does not clobber someone else's.

You can actually exit AIPS and then restart AIPS and reattach to the existing TV server. To do this:

  • Look at the title bar of the display window. It should show a number from 1 to 9, which is the instance number of your TV server.

  • When you restart aips tell it the instance number to use, e.g.

    remotehost> aips tv=local:3

    if the instance number was 3.


No Servers

Sometimes you just want to start up AIPS and quickly check something, with no extra servers started.

remotehost> aips notv tvok tpok

This prevents AIPS from starting any TV or MSG or TEK servers. You need both notv and tvok. The tpok argument prevents any tape access services from being started as well.


Starting TV Server via RSH

For machines which allow rsh login, this is probably a simpler approach. For some of the Solaris workstations this is the only option.

First test that you can rsh from the remote server back into your local workstation, without supplying a password. If it prompts you for a password, add line line like the following to your ~/.rhosts file

# allow rlogin for user aip123 on remotehost remotehost.atnf.csiro.au aip123

Second, tell AIPS to use rsh instead of ssh. You do this by setting the AIPSREMOTE environment variable to "rsh", e.g.

remotehost> setenv AIPSREMOTE rsh