Re: run arbitrary program as screensaver?
Krzys Majewski wrote:
> I did that a few months ago, but it did not come with a screen-saver
> option. What I did now is download the xseti tarball and the
> xscreensaver package, together they do the job (although they do more
> than what I wanted, which is just to have setiathome run in the bg
> when the screen blank). Two other options I researched are:
> - a script which looks in /proc/loadavg and starts/stops setiathome
> when the 5-/1-minute load average is low/high
> - a script which looks in /proc/interrupts and starts setiathome when
> the kbd and mouse interrupt values haven't changed for a while,
> then stops it as soon as they do.
It seems to me you don't understand how unix handles niced processes. (I
assume that setiathome defaults to running niced, like other distributed
processing clients such as the distributed.net client. Even if it
doesn't, you can renice it.)
Processes on a unix system have scheduling priorities. If a background
process is running "niced", it typically has a nice value from 10 to 19.
Normal processes have a nice value of 0. Extremely high priority processes
have a negative nice value. You can see a processes's nice value by running
top (the NI field).
The higher the nice value, the less likely a program is to get some cpu
time. The basic effect is that if a daemon runs niced in the background,
it will not get any cpu time, ever, unless the cpu is otherwise idle. Any
other process will preemt it. So you can run things like setiathome at all
times, without any slowdown on your machine.
For more information, see the nice(1) and renice(8) man pages.
see shy jo