Tudo depende de como você define ocioso . Se você está pensando em inativo como nenhuma entrada do usuário, então você poderia escrever um script que monitora a saída de:
xscreensaver-command -watch
que, de acordo com a sua página de manual:
-watch Prints a line each time the screensaver changes state: when the screen blanks, locks, unblanks, or when the running hack is changed. This option never returns; it is intended for use by shell scripts that want to react to the screensaver in some way. An example of its output would be:
BLANK Fri Nov 5 01:57:22 1999
RUN 34
RUN 79
RUN 16
LOCK Fri Nov 5 01:57:22 1999
RUN 76
RUN 12
UNBLANK Fri Nov 5 02:05:59 1999
A página de manual tem um script de exemplo escrito em perl
que pode ajudá-lo a começar.
Você também pode dar uma olhada no comando batch
, que faz parte da suíte atd
.
De sua página de manual:
batch executes commands when system load levels permit; in other
words, when the load average drops below 0.8, or the value
specified in the invocation of atrun.