SETI -- Search for Extraterrestrial Intelligence
List | Home
LinuxNetMag #3

Xaudio, xmms, mp3blaster
freeztag, kmp3te
TTY-Quake, Quake3Test
Descent, LDescent, DX1
Wine: Installation and Setup
VCron, Kcrontab
Passwords with Gpasman
Bootlogos: Welcome2L...
[email protected] and tools


Alternative Web-Browser
VNC - Windows X-Server
Fetchmail Part II
Apache the webserver
Windows networks: Samba
Webpublishing: Sitecopy
downloadhelp Wget
recommended links


HD-/Floppy- Access


Complete list of articles


Tux in space
Every user is able to assist in searching for extraterrestrial intelligence. 
The analysis of the data taken with radio telescopes is now possible for every interested user with access to the internet.

[ Introduction | [email protected] | Seti view | tkseti | X-Seti | Seti herder | Hints ]

E.T. is Sending a Peak to Us

Large radio telescopes worldwide receive electromagnetic waves coming from the depths of space. Graph von SETI-DatenAttempting to locate alien intelligent communication or trying to contact other life forms, these telescopes should find proof.

This search is not easy because many natural phenomenon also send electromagnetic waves into space. These waves are also interesting for scientists because they allow us to deduce the construction of regions in space (like the 21-cm-line including information about hydrogen concentration). These lines interfere with the search for waves coming from artificial sources. This naturally occurring "noise" has to be subtracted and the remaining peaks might be the searched signals. This work takes a lot of PC-power and new data arrives hourly.

The Idea
The idea was to spread the work around the internet and offer interesting users the ability to analyze the data with their home PCs. To accomplish this, the project [email protected] was founded. The necessary algorithm were programed very fast but it took a longer time to install the hardware that administrates the data handling. The project was completed with support by the government and well known companies. 
A longer time ago the software client was released in version 1.0 and was transferred on many platforms.

Seti-gif [email protected]

The necessary program to derive the data is called setiathome. The different version for the different platforms are available at After you untar the program, you should copy it to /usr/local/ and create a symbolic link (ln -s) to the binary file setiathome in /usr/local/bin/. This way every user will have access to it if /usr/local/bin/ has been added to the default path with $PATH.
Before starting you should create the subdirectory ~/setiathome/ where the received data and some more files are saved. Then change to this directory and start setiathome there. (You should always to change into the seti directory before starting because the data are always saved in the directory where you start setiathome.)
During the first start, you need a connection to the internet because you have to announce yourself to the seti server. The program asks for 1) your email address which is used as the ID, 2) a nickname, 3) your home country and 4) if you work at a school, home or company computer. Then it connects to the [email protected] server and announces you. After that, your first data package will be downloaded and the calculations will begin.
[email protected] was designed to work as a screen saver and should only work when you do not use your computer. Because a universal screensaver does not exist at Linux, including it into other programs is not easy. Still, Linux, like all Unix systems, offers the ability to establish a priority to the program using the command nice. [email protected] has included it as an option which can be invoked at startup with:

>> setiathome -nice 20

The program will be started with the lowest priority and it only slows down the system just a little bit. If you want to start it in the background or you are not interested in the output you should start it with the option -email. To suppress the output you should add >/dev/null at the end.
After working through the whole data setiathome tries to connect the seti server to send the results and get the new data. If it does not find the server it will retry it in 60 minutes. It is much more efficient to stop the program and, after dialing into the internet, restart it again.
With the option -stop_after_process, setiathome will not try to connect the server after finishing the file.
If your PC is very fast and you manage to process more than one data file between the two dial-ins, you could create more seti directories. Every job needs its own directory where you have to call setiathome, otherwise errors could occur if two programs work on the same data.


Setiathome runs in a console and does not create any graphical output. The prompt shows how what percentage of the data has been processed and where the data came from. You can find some programs on the internet that offer graphical frontends for setiathome. Setiview is one of these frontends, not for X-Windows, but for the console. In addition to displayinginformation about the source of the data (telescope, frequency, direction, etc.), it offers a view of the percentage of data that has been processed.


TkSeti is another front end (Screenshot), but this time for X-Windows, using TCL/TK 8.0. TkSeti is able Icon TkSetito start a seticlient by its own but can also show the data of a running client. The program can be comfortably configured via the frontend itself and no text files have to be edited. If you iconize the program, you would see the percentage of completion above the name of the icon.
The most worthwhile option of TkSeti seems to be that it stops the seti-client as long as the user works with the computer. The program regularly checks the interrupts of different devices and in this way decides if the user is still active. It makes sense to use the serial and the keyboard device and configure a time of 1 to 10 minutes of idleness. If these two devices have been idle for this time, the seti client would start and would be stopped if you used one of them again.
Of course this functions together with a screensaver, but the screensaver option should not need much CPU power.
Attention: If you use a program like tleds or NetLED that shows the network traffic using the keyboard LEDs you should not use the keyboard device because the network traffic raises the keyboard interrupt counter and would stop the seti-client.

Icon X-SetiAnother frontend that has a good looking design is X-Seti; it works as a plugin with XScreensaver. X-Seti offers the ability to minimize the window and it keeps on showing you the percentage. But the iconized program can allow you to see the percentage, too, but at a reduce size.
If you do not want to use the XScreensaver, you would have to run seti all the time. This would disturb your work, even with a nice value of 20.

A complete different program is setiherder. This is not a frontend for a seti-client but it is able to server many clients inside a network using more than one computer. If you have access to more than one PC and you can run more setis on these at the same time and you do not need to login everywhere with telnet to start seti, setiherder could be a good choice. You can administrate all clients from one computer.
The remote shell (rsh) is necessary for setiherder to access the computers. Now you have all seti sheaps under control inside your net.

Linux works alone

Many companies have a connection to the internet and the PCs are not switched off in the night. Every night thousands of computers are "sleeping" and their capacities are not used. These illustrations show how much sense it could make if these companies "offer" their PCs for public research and run setiathome on their network. Even if you own a MS Windows computer you, are able to use the client. But Linux users have it much easier because the client can be started via a script every night and then stopped automatically in the morning before you reach your working place. This could be managed using crontab, a program that runs programs at a specific time. Either you change it with a text editor by starting it with  

>> crontab -e

or change it easily with vcron (LinuxNetMag: vcron and kcrontab).
Additionally, you need a script that handles starting and stopping via a script. This script is a changed init-script which starts and stops programs during booting and rebooting. You will find the script here to download it. (To start the program it has to be changed to an executable with chmod +x filename)
Of course you have to adjust the script to your paths. Change the variable SETIDIR. It is the guide to your seti directory where the data are saved. With nice you set the nice value for setiathome which has to be an integer between 0 and 20. The higher the value, the less the priority of the program.
For example, it you work from 9:00 a.m. to 5:00 p.m., you could write in the crontab (after starting crontab -e): 

# start setiathome daily at 5.00 pm
00 17 * * * /path/to/seti-script-user start
# stop setiathome daily at 9.00 am
00 9 * * * /path/to/seti-script-user stop
Save the text file and exit the text editor. Now setiathome will be started every evening and stopped every morning. Also, you may want to start it just before weekend. Therefore, you enter:
# start setiathome friday(5) at 11.00 pm
00 23 * * 5 /path/to/seti-script-user start
# stop setiathome monday(1) at 1.00 am
00 1 * * 1 /path/to/seti-script-user stop

Now Linux will start setiathome every Friday night and stop it every Monday morning.
Much more information about crontab is available typing

>>man crontab

or, if installed ,

>> tkman crontab

Other LinuxNetMag-Articles to this theme at

Other issues of Linux NetMag
[ #1 | #2 | #3 | Main ]