gpilot-install-file em um cron job?

2

Eu tenho uma tarefa cron que gera alguns arquivos .pdb e gostaria de enfileirá-los automaticamente para instalação na próxima sincronização. Infelizmente, não consegui fazer com que o gpilot-install-file trabalhasse em um cron job. Isso requer uma exibição (por que?), Então eu dei a opção "--display =: 0.0". Então ele reclamou que não poderia obter a lista do PDA, então eu dei a opção "--pilot = MyPDA".

/usr/bin/gpilot-install-file --later --display=:0.0 --pilot=MyPDA myfile.pdb

Agora eu recebo isso:

(gpilot-install-file:4959): gpilotd-CRITICAL **: gnome_pilot_client_install_file: assertion 'self->gpilotddaemon!=NULL' failed

Existe uma maneira de fazer isso funcionar, ou existe alguma outra maneira de colocar os arquivos na fila de instalação do gnome-pilot a partir de uma tarefa cron?

    
por Fred Larson 31.03.2011 / 18:09

1 resposta

3

O daemon "gpilotd" está rodando? Parece que algumas variáveis de ambiente ainda podem estar faltando e gpilot-install-file precisa fazer seu trabalho. Compare a saída do comando env em seu terminal Desktop com env run do cron. (Você já identificou uma diferença necessária: a variável "DISPLAY").

Às vezes, coisas como o ambiente de serviço D-Bus ("DBUS_SESSION_BUS_ADDRESS") são necessárias, etc. Tente definir as coisas até que funcione. Para extrair essas variáveis da sua sessão de Desktop em execução, você pode lê-las de /proc :

xargs -0 -n1 < /proc/$(pidof gnome-session)/environ | grep what-you-need
    
por Kees Cook 07.04.2011 / 03:46