Я использую 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, мы должны установить сначала ДИСПЛЕЙ...") перед командой... и многими другой!
Я знаю, что существует большое выполнение крона влияния деталей (путь, переменные среды, специальный символ и другой), и у меня больше нет идеи к настоящему времени :(
Некоторый джентльмен мог предложить меня идея? где я могу найти проблему?Заранее спасибо!
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
.
Это должно быть комментарием, но я не мог отформатировать комментарий путем, мне понравилось.
Выдерживают сравнение 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>.......