adiciona tarefa cron a primeiro plano

2

Estou tentando executar um programa que exibe um aviso gráfico para mim. Como um exemplo simples, eu tenho minhas configurações de cron como

@hourly xlogo

e se eu iniciar o xlogo a partir de um comando interativo, tudo funcionará bem. No entanto, quando executado pelo cron, a janela do xlogo nunca é iniciada. Como posso fazer com que o cron deixe o xlogo abrir uma janela, ou é fundamental que ele não tenha sido projetado para isso?

    
por Stephen 22.08.2012 / 18:55

2 respostas

3

É totalmente possível fazer isso com o crontab.

Você precisa dizer ao script em qual tela deseja que xlogo seja executado.

Tente mudar a linha para isso:

@hourly /usr/bin/env DISPLAY=:0.0 /usr/bin/xlogo

para dizer ao crontab que display você deseja usar. Dependendo do programa, você pode precisar incluir mais variáveis de ambiente também.

    
por Alex L. 22.08.2012 / 19:18
3

Você precisa dizer qual display usar com o comando export . Eu também recomendaria usar sempre o caminho completo para um arquivo com cron . Ele economizará muitas dores de cabeça, já que o cron é executado em um ambiente limitado, de modo que nem sempre tem a mesma variável $ PATH do seu terminal. Isso significa que nem sempre sabe onde os programas estão localizados.

De qualquer forma, seu trabalho no cron seria algo como isto:

@hourly export DISPLAY=:0.0 && /usr/bin/xlogo
    
por reverendj1 22.08.2012 / 19:17