2013-12-02 4 views
1

I'm возникли некоторые проблемы с этим питон скрипт работает в хрон (Ubuntu), она работает нормально без хрон:Cron не работает с питона подпроцесса

subprocess.call('/usr/bin/xdotool search --name bla.bla. windowactivate', shell=True) 

Cron

4,7,10,15,20 * * * * /usr/bin/python /home/aaa/bbb/ccc.py 

В Cron log i только получает «No MTA installed ...». Имеют полные пути, вызовы cron ok сценарий python (изменение сценария на простой «привет мир» работает нормально) ... Я немного потерял.

Редактировать

Выход из хрон:

Error: Can't open display: (null) 
Segmentation fault (core dumped) 

Спасибо.

+0

Возможно, это дубликат http://stackoverflow.com/questions/13593935/cron-python-script-not-executing (и других), или, по крайней мере, я предлагаю начать с них ... в частности, можете ли вы изменить запись cron, чтобы сделать/usr/bin/python /home/aaa/bbb/ccc.py &> /home/aaa/bbb/ccc.out и опубликовать ccc.out? – Foon

+0

Есть несколько вопросов, очень похожих на мои, пробовал множество решений, но пока никто не работал. Я редактировал вопрос с выходом. – user1320951

ответ

2

После выполнения @Foon предложение войти выход, я выяснил одно решение:

subprocess.Popen('XAUTHORITY=/home/user/.Xauthority DISPLAY=:0 /usr/bin/xdotool search --name bla.bla. windowactivate', shell=True) 

проблема решена!

+0

Можете ли вы описать свое решение и как вы к нему пришли? Как вы установили cron и т. Д.? – Aki

+0

Моя проблема связана с XDOTOOL, googling о ошибке журнала, приносит мне много похожих проблем, один из них говорит, что нужно добавить _XAUT .._ и _DISPLAY .._. Чтобы установить cron (Ubuntu, Raspbian), просто _sudo crontab -e_ и добавьте строку в конец crontab. Мой cron вызывает скрипт python, который работает в определенные минуты (4,7,10,15,20) каждый час/день/неделя/месяц. В сценарии python я вывожу окно из программного обеспечения с именем _bla.bla._, затем я делаю другие вещи, например, клавиши. – user1320951

Смежные вопросы