1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400
|
TkSETI version 2.12 by Rick Macdonald <rickm@vsl.com>
You are running /usr/local/bin/wish patchlevel 8.2.3+.
Usage: tkseti [--help] [user_setiathome_directory]
user_setiathome_directory defaults to ~/setiathome
========================
TkSETI@Home Installation
========================
Untar the distribution file:
gunzip -qc tkseti-X.XX.tar.gz | tar xvf -
and just place the tkseti file anywhere in your path.
There is a "contrib" directory where various scripts and
information has been contributed by TkSETI users.
TkSETI requires Tcl/Tk 8.0 or newer.
See http://www.scriptics.com/download
===================
TkSETI@Home Startup
===================
You must run the setiathome client once manually from the command line
to get registered. Just answer all the prompts. Once the client is
running properly, you can run tkseti.
TkSETI can be started if the client is already running, or it can start
the client manually or automatically for you. This is explained in the
Setup section that follows.
TkSETI will look for the client files in the directory ~/setiathome. If
you've run the client elsewhere, or run more than one client, just
specify the setiathome client directory on the tkseti command line. For
example:
tkseti ~/setiathome
If your xserver is short on colors, you might try giving TkSETI its own
colormap:
tkseti ~/setiathome -colormap new
Multiple Clients
================
If you run multiple setiathome clients, you must run an instance of
tkseti for each one. TkSETI needs to find just one client, and the way
to do this is to give the clients unique names or execute them from
unique paths. Specify this unique string in the "Client Name" setup
field described next. Examples:
client1
cpu0/setiathome
Here's one way to run more than one setiathome client:
- create another setiathome directory: mkdir ~/setiathome2.
- cd into the new directory: cd ~/setiathome2
- make a copy of the client anywhere in your path with a unique name.
- or -
make a symlink with a unique name to your client (in this working
directory or anywhere in your path):
ln -s /usr/local/bin/setiathome seti2
- execute the client manually, and select option 2:
We use your email address to identify you.
Please type:
1 to set up a new account (first-time users);
2 to log into an existing account (returning users).
Your choice (1 or 2): 2
Email address: you@your.address
The client will verify your email address and then download another
work unit and start processing it.
Execute tkseti with the new directory as an argument:
tkseti ~/setiathome2
With the defaults, it may find the wrong client to monitor. Go to the
Setup window and fill in the proper "Client Name" and "How to Run"
values.
=================
TkSETI@Home Setup
=================
The TkSETI Setup window has sections divided up with notebook tabs:
General Setup, Helper Applications, and Auto Modes.
=====================
*** General Setup ***
=====================
The first section of the Setup window offers various options for
starting or continuing the client when TkSETI starts, and killing or
pausing the client when TkSETI exits. There is also an option to restart
the client if it "disappears" after it has been running. This can occur
if somebody kills it externally, or if it unexpectedly dies on its own.
The "Master Directory" is where files are kept containing your
personal best Spike and Gaussian and the coordinates of all the
work units that you process so TkSETI can plot them all on the
Star Map. If you run multiple TkSETIs, point them all to the same
Master Directory. The Master Directory can be the same as one of
your setiathome client directories. If you ever change the Master
Directory, TkSETI will carry over these values and merge them with
any master files found in the new Master Directory.
===========================
*** Helper Applications ***
===========================
Client Name
===========
The client name is used to find the setiathome client in the output of
the "How to Stat" command described below. It is usually "setiathome",
but you may need to enter all or part of the path here, especially if
you run more than one client at a time. Or, perhaps you've renamed the
client itself. Note that this is the client executable name, _not_ a
script that you might use to start the client.
How to Run (setiathome client)
==========
Typical examples:
setiathome
/usr/local/seti/cpu0/setiathome -nice 19
/usr/local/bin/setiathome -nice 19
setiathome -email -nice 19 >& /dev/null
Higher "nice" values (19 is the highest) give it a low run priority so
you don't notice the cpu activity so much while you're interacting with
other programs.
With the "-email" option, the client will send network error messages to
you via email.
Use ">& /dev/null" to discard the output from the client. Piping the
output through grep should work, but due to internal buffering you might
not get anything output for a long time.
There are two setiathome client command line options that may be of use
to some people:
-stop_after_process stop after current WU - do NOT send result
-stop_after_xfer stop after current WU - DO send result
How to Kill, Pause, Continue
============================
The Kill, Pause and Continue commands must contain the string "$pid",
which gets replaced with the process ID of the setiathome client.
Kill: kill -KILL $pid
Pause: kill -STOP $pid
Continue: kill -CONT $pid
How to Stat
===========
Stat: ps ax
The Stat command is expected to return zero or more lines from
ps. TkSETI searches these lines for the "setiathome" client program.
The ps output must contain the "pid", the "status" and at least the
command name from the command line. The status flag meaning that a
process is paused is "T", but this can be configured in the Setup window
("Paused Flags") with a list of blank-separated values. All other flags
are considered as running. Zombies (Z or z) are ignored. For example:
% ps ax
... other processes not shown ...
5809 p0 R N444:18 setiathome -email -nice 19
... other processes not shown ...
The stat string is split into fields by blanks, and the field numbers
(starting from zero) are configurable for the PID and Status. In the
example above, the PID index is 0 (5809) and the Status index is 2
("R").
Web Browser
===========
This command must contain the string "$url" which gets replaced by the
SETI@Home web page URL, or a statistics page URL. The default is
"netscape -remote openURL($url,new-window)" which tries to open a new
window in an already-running netscape. Note that there must not be
quotes around the openURL argument to netscape. Examples:
netscape: netscape -remote openURL($url,new-window)
KDE's kfm: kfmclient openURL $url
lynx: xterm -e lynx $url
Proxy Host
==========
If you need to access the web through a proxy server, TkSETI can be
configured to use the proxy for its own accesses to the web and for
running the setiathome client.
At startup, TkSETI checks if you have previously set the HTTP_PROXY
environment variable, and uses this to set or override any previous
value stored by TkSETI in the Setup. Or, in the
Setup/HelperApplications menu, give the proxy host (eg:
my.proxy.host) and proxy port number (eg: 8080). In either case, you
can click "Text Proxy" to actually test the proxy server while
on-line. Please note that the environment variable, if set, will
always override any proxy stored in TkSETI's Setup every time TkSETI
is started.
TkSETI can't add the proxy to the setiathome command line for you
because for some people "How to Run" is actually a script, and these
scripts would not expect this extra parameter. However, TkSETI sets
the environment variable HTTP_PROXY (in the format "hostname:port")
as documented in the README file that comes with the setiathome
client.
==================
*** Auto Modes ***
==================
The setiathome client can already be running before tkseti is started,
or tkseti can start it for you. While it's running, tkseti checks the
client status and progress every 10 seconds and updates the CPU usage,
progress bar and stats.
You can select manual or automatic starting and stopping of the
setiathome client from within tkseti. Dial-up users may supply network
start/stop scripts for TkSETI to run when the client needs to contact
the server.
Note that it's up to you to make sure that the interaction between
these auto modes and any use of these setiathome client command
line options doesn't conflict:
-stop_after_process stop after current WU - do NOT send result
-stop_after_xfer stop after current WU - DO send result
o "Do Not Run during..." mode
This automatic mode is controlled simply by specifying a time window
and days of the week _NOT_ to allow the client to run. In this mode,
TkSETI will always stop the client during this time. Outside of this
time window, the other automatic mode ("Monitor System Devices...")
is also functional.
o "Monitor System Devices..." mode
This automatic mode is currently only available for Linux. If you
know how to do this for your platform, please let me know
(rickm@vsl.com).
Automatic starting and stopping is controlled by watching for
various system activity, typically of the keyboard and mouse. Select
up to 6 devices to monitor. Choose the correct serial device if you
have a serial mouse.
For auto start, set "After" to the number of seconds of idleness to
wait before (re)starting the client. For auto-stop, set "Auto Mode
Uses" to instruct tkseti to stop by pausing or killing.
A threshold may be specified for each device. The device is
considered "idle" if the number of interrupts during the main
10 second loop is less than or equal to this threshold. Note that
one keystroke is two interrupts. For other devices such as the
mouse and network interfaces, you'll have to experiment to set
a threshold value that works for you.
The setiathome client keeps progress checkpoints, so killing it does
not loose any work. I recommend pausing over killing anyway, unless
you can't afford to have the memory tied up by the inactive
setiathome process.
o "Run Network Start / Stop scripts"
This mode is intended for dial-up users. I actually recommend using
the "diald" daemon instead, but this TkSETI feature may be of some
use for some people.
I'm actually unable to test this properly, so please let me know how
it works for you.
When the client finishes a work unit and needs to contact the
SETI@Home server, the script "How to Start Net" will be run after
waiting for the specified number of seconds (the first "after"
entry). When a new work unit is received, the script "How to Stop
Net" will be run after waiting for the specified number of seconds
(the second "after" entry).
Note that the Start script will not be run during the optional
"Do Not Dial" period.
Note the the Stop script will _only_ be run if TkSETI ran the Start
script. Hopefully this makes sense. For example, if your network is
already up when you start TkSETI, you don't want it to the take the
network down after the time specified for the Stop script!
TkSETI will kill the client before running the Start script, and
restart the client after. This is because the client waits for one
hour between attempts to contact the server. TkSETI makes no attempt
to determine if the Start script succeeded. If the client still
requires a work unit after the "after" seconds has elapsed again, it
goes through the sequence again: kill client; run Start script; run
client.
The "Test" buttons on the Setup screen run your scripts immediately.
The client is not killed in this case.
*** Please note that the "after" time for the Start script must be long
enough to contact the server and download a new work unit. Don't be
too impatient! We'll be running this thing for two years.
*** Currently there is no check to guard against repeated failed attempts
to start the network and retrieve an new work unit. Please let me
know if this is a problem.
*** Also note that your Start script should be able to handle being
executed when the network is already up. Likewise, the Stop script
should be able to handle being executed when the network is already
down. In both cases, just return and do nothing.
*** Don't put "&" in your Start and Stop scripts to run them in the
background. If you do, you need to make the "after" time longer to
include the time required start your dialup connection. Also, you
must have a space before the ampersand: start_net &
It still may not work; please let me know if you try this.
====================
Window Manager Icons
====================
Check the "contrib" directory for bitmap (xbm) and pixmap (xpm)
files to use as TkSETI icons.
fvwm
====
Put your pixmap or bitmap file into a directory in the PixmapPath
or IconPath path where you know fvwm is already looking, or use a
full pathname in the Style statement below. Then just add one of
the following to your .fvwm2rc or .fvwmrc file:
fvwm version 2.x: Style "Tk-SETI*" Icon seti.xpm
fvwm version 1.x: Icon "Tk-SETI*" seti.xpm
Then restart fvwm and you've got it.
=======
Support
=======
Contact Rick Macdonald <rickm@vsl.com> with any problems or enhancement
ideas.
TkSETI optionally checks after every work unit for updates and
notifies you when a new version is available. A window is popped
up and also a message is placed in the TkSETI window manager title
bar.
The latest version is available from
http://www.cuug.ab.ca/~macdonal/tkseti
=======
Licence
=======
TkSETI - interactive automated control of the setiathome UNIX client
program.
Copyright (C) 1999-2000 by Rick Macdonald <rickm@vsl.com>.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
TkSETI version 2.12 by Rick Macdonald <rickm@vsl.com>
You are running /usr/local/bin/wish patchlevel 8.2.3+.
Usage: tkseti [--help] [user_setiathome_directory]
user_setiathome_directory defaults to ~/setiathome
|