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.
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:
-
Take 5 minutes to set yourself up to log in with SSH keys.
You only need to do this once. -
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 youssh-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 tossh-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
-
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 -
Login to the remote machine and start AIPS
localhost% ssh -A remotehost
remotehost> aipsThe
-A
option will forward authentication requests from the remote machine to your localssh-agent
. This will allow AIPS on the remote machine tossh
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> 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:
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:3if the instance number was 3.
No Servers
Sometimes you just want to start up AIPS and quickly check something, with no extra servers started.
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
Second, tell AIPS to use rsh
instead of ssh
.
You do this by setting the AIPSREMOTE environment variable to "rsh", e.g.