Site hosted by Angelfire.com: Build your free website today!
sweeting.org: the sweeting portal
SetiState
For tracking multiple Seti@home clients
Wilson's Alumni
An alumni site for my old school Wilson's
Sweeting Portal
Ancestry research and the Sweeting directory
Mark Sweeting
Explorer / entrepreneur
   

SETIState - For tracking multiple Seti@home clients

SETIState is lightweight terminal application for tracking the progress of one or more SETI@home client(s) running on one (or more) networked computers. It is written in Perl and uses hardly no resources at all, so the full efforts of your machines are left to crunch those SETI work units!

Please Note: This is a 'mini-mirror' of the main SETIState site. Please visit http://www.sweeting.org/mark/setistate for the latest information.

You can find more out about SETI@home by visiting: http://setiathome.ssl.berkeley.edu/.

See this project at freshmeat.

Latest News

24 Jan 2002: SETIState V0.1.4 released. There have been several minor improvements for this release including support for per-host user names, and the routine for checking host status has been re-written to work with certain problematic firewalls.

26 Oct 2001: SETIState V0.1.3 released. This release sees the 'ssh to localhost' problem fixed that several people were having difficulty with. Files on localhost are now just read in the normal manner, and files on remote hosts are accessed using ssh.

23 Oct 2001: SETIState V0.1.2 released. Now much easier to configure using a separate configuration file. Improved support for transparent terminals (eg Eterms).

Contents


Features of SETIState

  • Can track multiple SETI@home clients running on multiple hosts
  • Displays CPU Time per client per work unit, % completed per work unit, estimated time left, and status of client (active or not)
  • Refreshes at a configurable interval.

Quotes from satisfied users

"SETIState is great! Well done on creating a very simple, useful program that keeps in tradition with the UNIX philosophy of small tools doing little things well."

"I downloaded your SETIState program today to manage my new SETI@Home installs. I really dig it. ... Thanks for writing such a great program. I very much like it; it's filling my needs quite nicely."

"I downloaded your SETIState script, it is really what I was looking for."


Requirements

SETIState is a rather simple perl script, so should run on most systems with Perl installed. It has been developed with Perl 5.005, patch 03 and the Curses perl module (visit www.cpan.org) if you need to install this.

It also requires the user running the software is able to ssh to each remote host running a SETI@home client without the need to enter a password. Basically, this requires you to copy your public key into the file $HOME/.ssh/authorized_keys on the remote host that you would normally need to log into. See the ssh man page for more details on setting this up, under the third authentication method described.

SETIState has been tested on Linux (2.2.15), but should run quite happily on most UN*X variants.

Installing SETIState

  1. Make sure you have the necessary Perl libraries installed (see http://www.cpan.org/), and that ssh works O.K. with the necessary hosts.
  2. Extract the tar.gz file:
    tar -xzf ./setistate-n.n.n.tar.gz
  3. Copy the SETIState program file to somewhere like $HOME/bin. Remember to make sure the file is executable:
    chmod 755 SETIState
  4. Copy the example configuration file .setistaterc to your home directory. You will need to edit this file to suit your setup (see below).

Configuring SETIState

These instructions are for configuring SETIState V0.1.4

The file .setistaterc contains the personalised information needed to run SETIState. The following example configuration file should be self explanatory.

  ##
  ## SETIState resource configuration file.
  ##

  # set transparent = 1 if you would like the background of your terminal to
  # show through. Otherwise the background colour will be black. Read the
  # Eterm man pages (section on Esetroot) for more details.
  transparent=1

  # the time (in seconds) between updates
  timeout=60

  # the labels used for each SETI@Home instance that is
  # monitored by SETIState. Separate each label by a space.
  labels=mymachine anotherhostcpu1 anotherhostcpu2

  # list the hostnames for each SETI@Home instance. Hosts may be fully qualified
  # or just the host name. Separate by a space. Note that localhost MUST be
  # referred to as 'localhost'. If you don't, then you may run into problems
  # when SETIState tries to access the progress file.
  hosts=localhost host.domain.com host.domain.com

  # list the usernames for each host entry above/
  users=mws mws mark

  # the directory that each SETI@Home instance is running in, ie where the
  # SETI@Home state file (state.sah) can be found. Remember to include
  # the trailing forward slash.
  setidir=/home/me/seti/ /home/me/seti1/ /home/me/seti2/

For earlier versions of SETIState, please see the relevant files contained in the tar-balls below.

Running SETIState

  1. Make sure SETI@home is running on the hosts you wish to monitor.
  2. Make sure you have copied the .setistaterc file to your home directory and edited it appropriately.
  3. Make sure SETIState is executable. If you have SETIState installed somewhere that is in your path, just type:
    setistate
    at the command line. If you cannot run the programme like this, try:
    /some/path/to/install/setistate

Download SETIState

Please go to the main SETIState site: http://www.sweeting.org/mark/setistate.

Join the "SETIState Users" group at SETI@home

To join the "SETIState Users" group on the SETI@home web site, go here.

Questions?

I'm not really a programmer (as you will be able to tell when you see my code), but if you have any queries regarding SETIState, please feel free to contact me.

1