[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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

Reply to: