Крон не выполняет одно из запланированных заданий

Я использую lubuntu рабочий стол, распределение Ubuntu 13.10, i686. Это - моя проблема: в списке задания, запланированном кроном, задание не имеет эффект, но в/var/log/syslog прослежено его выполнение. Это - относительная строка журнала:

4 июня КРОН киоска 9:06:01 [14189]: (корневой) CMD (/usr/bin/xinput опора набора 12 - type=float "Координатная Матрица преобразования" 0 - 1 1 1 0 0 0 0 1>> /tmp/mybackup.log)

Это задание должно повернуть отображение с сенсорным экраном.

Я пробую различные решения: Я занимаю место в crontab с ударом-c"", я установил "ДИСПЛЕЙ экспорта =:0.0" ("для связанного с графикой задания в Среде Unix, мы должны установить сначала ДИСПЛЕЙ...") перед командой... и многими другой!

Я знаю, что существует большое выполнение крона влияния деталей (путь, переменные среды, специальный символ и другой), и у меня больше нет идеи к настоящему времени :(

Некоторый джентльмен мог предложить меня идея? где я могу найти проблему?Заранее спасибо!

0
задан 5 June 2014 в 12:06

2 ответа

xinput настраивает и тестирует X устройств ввода данных. Это использует $DISPLAY переменная среды, чтобы найти, что X-сервер говорит, таким образом, необходимо определить его, потому что задания крона не требуют X-окон. Простой способ состоит в том, чтобы иметь crontab строку быть

env DISPLAY=:0.0 /usr/bin/xinput set-prop 12 --type=float "Coordinate Transformation Matrix" 0 -1 1 1 0 0 0 0 1 >> /tmp/mybackup.log  

, там выполнение X-сервера, когда cronjob работает? Кроме того, если существует выполнение X-сервера, оно могло бы работать с X учетными данными аутентификации пользователя, и Ваш журнал крона показывает Вам работающий как root. Если Вы не подвергаетесь и готовы рискнуть уменьшать свою X безопасности, попытайтесь работать

xhost +SI:localhost:root  

на Вашем X-сервере при каждом входе в систему. Или, выполните задание крона как того же пользователя, не root.

0
ответ дан 5 June 2014 в 12:06

Это должно быть комментарием, но я не мог отформатировать комментарий путем, мне понравилось.

Выдерживают сравнение cron среда с рабочей средой, таким образом:

$ env | sort >x.environment  
$ crontab -l  
# m h  dom mon dow   command  
*   *  *   *   *     env | sort >cron.environment  
$ sleep 60  
$ ls -l {cron,x}.environment  
-rw-rw-r-- 1 walt walt  112 Jun  8 19:40 cron.environment  
-rw-rw-r-- 1 walt walt 4216 Jun  8 19:38 x.environment  
$ diff {cron,x}.environment  
.......<snip, YMMV>.......  
0
ответ дан 5 June 2014 в 12:06

Другие вопросы по тегам:

Похожие вопросы: