LinuxForum.Fans
Тема

Не работает cron

Автор: u___________________ 15 сообщений 4696 просмотров
#250318

Доброе время суток.

Пытаюсь запустить автоматическую смену обоев на рабочем столе.
Нашел скриптик, добавил в автозагрузку, теперь пытаюсь реализовать смену обоев по истечении каждой минуты.
Создал временный файлик со следующим содержимым:

text
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/home/smalllsmk

*/1 * * * * 'sh /home/smalllsmk/.deskwall.sh'

выполнил:
crontab ./путь_к_временному_файлику
проверяю список заданий по crontab -l

text
smalllsmk@lm-aspire ~ $ crontab -l
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
HOME=/home/smalllsmk

*/1 * * * * 'sh /home/smalllsmk/.deskwall.sh'

Все в порядке, но почему то скрипт не выполняется.

Что я делаю не так?

#250330

вот что пишет в syslog

text
smalllsmk@lm-aspire ~ $ tail -n 10 /var/log/syslog 
May  7 20:37:01 lm-aspire CRON[2211]: (smalllsmk) CMD (/bin/bash /home/smalllsmk/.deskwall.sh)
May  7 20:37:01 lm-aspire CRON[2210]: (CRON) info (No MTA installed, discarding output)
May  7 20:38:01 lm-aspire CRON[2222]: (smalllsmk) CMD (/bin/bash /home/smalllsmk/.deskwall.sh)
May  7 20:38:01 lm-aspire CRON[2221]: (CRON) info (No MTA installed, discarding output)
May  7 20:39:01 lm-aspire CRON[2237]: (smalllsmk) CMD (/bin/bash /home/smalllsmk/.deskwall.sh)
May  7 20:39:01 lm-aspire CRON[2236]: (CRON) info (No MTA installed, discarding output)
May  7 20:40:01 lm-aspire CRON[2341]: (smalllsmk) CMD (/bin/bash /home/smalllsmk/.deskwall.sh)
May  7 20:40:01 lm-aspire CRON[2340]: (CRON) info (No MTA installed, discarding output)
May  7 20:41:01 lm-aspire CRON[2405]: (smalllsmk) CMD (/bin/bash /home/smalllsmk/.deskwall.sh)
May  7 20:41:01 lm-aspire CRON[2404]: (CRON) info (No MTA installed, discarding output)
#250347

Добавь пользователя перед sh от которого запускаешь. Вот похожая проблема www.opennet.ru/openforum/vsluhforumID1/91943.html
зделай все действия, а в частности crontab -e от рута, тогда не надо будет перезапускать.
Что касаемо mta. Пытается отослать отчет о ошибке, но не может.

#250351

В общем запустил от рута с выводом ошибок в файл.
Вот содержимое sudo crontab -e

text
SHELL=/bin/bash
PATH=/bin:/usr/bin:/sbin:/usr/sbin
HOME=/home/smalllsmk

*/1 * * * * smalllsmk /bin/bash /home/smalllsmk/.deskwall.sh 2>/tmp/tmp.cron

вот вывод syslog

text
May  7 22:24:01 lm-aspire CRON[2802]: (root) CMD (smalllsmk /bin/bash /home/smalllsmk/.deskwall.sh 2>/tmp/tmp.cron)
May  7 22:24:01 lm-aspire CRON[2801]: (CRON) error (grandchild #2802 failed with exit status 127)
May  7 22:25:01 lm-aspire CRON[2805]: (root) CMD (smalllsmk /bin/bash /home/smalllsmk/.deskwall.sh 2>/tmp/tmp.cron)
May  7 22:25:01 lm-aspire CRON[2804]: (CRON) error (grandchild #2805 failed with exit status 127)

а вот что в файлик записало:

text
smalllsmk@lm-aspire ~ $ cat /tmp/tmp.cron 
/bin/bash: smalllsmk: команда не найдена

мне необходимо скрипт выполнять от моего пользователя.

#250354

whereis bash
locate bash

#250359

Попробуй сделать новый скрипт для примера используя баш. Дай ему права на запуск. И проверь.
crontab -e от пользователя.
Жалко не могу проверить у себя.

#250361

работает....выходит все дело в скрипте?

#250362

Думаю дело в переменной патш. Убери все кроме правила. В скрипте укажи явный путь, без хоуме переменной.
Я сейчас пррверил у себя. Все тоже отработало.
Твой скрипт проверить не могу.

#250365

Теперь скрипт вот что вываливает мне в файл:

text
** (process:6171): WARNING **: Выполнение командной строки «dbus-launch --autolaunch=30de89eff783e74af41074e70000000a --binary-syntax --close-stderr» завершилось ненулевым кодом завершения 1: Autolaunch error: X11 initialization failed.\n

** (process:6171): WARNING **: Выполнение командной строки «dbus-launch --autolaunch=30de89eff783e74af41074e70000000a --binary-syntax --close-stderr» завершилось ненулевым кодом завершения 1: Autolaunch error: X11 initialization failed.\n

#250369

gsettings попробуй вручную выполнить. Изменится картинка?

#250371

если использовать

text
gsettings set org.gnome.desktop.background picture-uri "file://$file"

то обои заменяет заливка сплошным цветом.
если использовать

text
gsettings

то пишет подсказку по использованию.

#250373
"Индустриальный Эльф" написал:
gsettings set org.gnome.desktop.background picture-uri "file://$file"

а если это же из настоящего терминала?

#250376

тоже самое.

Показать
Там в скрипте переменная $file - это массив изображений files[$N], где N - это случайное изображение...ну или как то так...на самом деле я в скриптописании\скрипточитании не особо силен.
Показать
не хотел гуёвинами пользоваться, но нашел интересную программку, которая не раздражает вися в трее, поставил пока что её.
#254275

В общем решил проблему с автоматической сменой вот таким вот способом:

Способ 3 - XML animated background creator:

Скачиваем скрипт. Для установки распакуй и выполни

text
./install.sh

Теперь просто передай сформированный XML-файл Gnome 3. Тут поможет следующее заклинание:

text
gsettings set org.gnome.desktop.background picture-uri 'file:////Здесь_Укажи_Путь_К/background.xml'

Топик можно закрывать.

Войдите или зарегистрируйтесь, чтобы ответить.