As vezes criamos scripts para rodar certas rotinas, testamos ( com xterm por exemplo ) e quando colocamos na crontab eles não funcionam.
Muitas vezes esses programas usam o ambiente grafico, e como estamos logados eles conseguem usar, ja na crontab o script não será executado usando o ambiente gráfico.
Precisamos definir que a variável display vai ser o terminal .
coloque no inicio do seu script:
export DISPLAY=unix:0