[РЕШЕНО] И в самом деле демоны. Вторая команда стабильно не запускается.

Известно, что я использую touchegg http://archlinux.org.ru/forum/topic/12570/. Известно, что проект вцелом заброшен, работает, но через сколько-то минут пользования процесс touchegg начинает отъедать процессор. Для этого повсеместно используются скрипты перезапуска. Я вот в гномшедулере раз в сколько-то минут запускал команду killall touchegg && touchegg. Работало бесперебойно много месяцев. И вдруг перестало - т.е. первая часть, прибитие процесса, проходит, запуск - нет.

Попробовал вариант killall touchegg; touchegg - аналогично. Запихнул эти две команды в скрипт, запускаю скрипт руками - прибивает и запускает. Скармливаю скрипт шедулеру - только прибивает, но не запускает.

Где и как что искать?
ну попробуй добавить sleep после killall touchegg
Non progredi - est regredi
не поверите, пробовал. В том скрипте, что написал. При запуске руками работает, из шедулера - нет. Т.е. и после слипа вторая команда не идет.
Коллеги, вопрос по прежнему актуален. Сводится к следующему - крон почему-то отказывается исполнять команду запуска. killall touchegg; touchegg - килл выполняет, запуск - нет. Длео не в точчеге, если прописать killall touchegg; firefox, то ФФ тоже не запускается. Даже если совсем опроститься и шедулеру оставить единственную команду firefox, то не запускается. Переустановка крона вопроса не решает.

Что при этом совсем странно - если запуск задания выполнить вручную, то прекрасно отрабатываются обе команды - killall touchegg; touchegg. Правда при этом открывается окно терминала,ч то уже совершенно лишнее и об этом не просили.

Если же само, автоматом, то только первая. Crond запущен, в процессах висит (а иначе как бы выполнялся killall).
Не знаю, что такое touchegg, и что ему нужно, но firefox - графическая программа, а следовательно, требует установки характерных переменных среды для своего запуска, как, например, DISPLAY=:0. Что-то типа
export DISPLAY=:0 && <графическая программка>
Демон cron сам по себе про эти переменные ничего не знает. Google вам в помощь.
Ой, так оно и оказалось.
wau, попробуй timer для systemd соорудить. естественно пользовательский, а не системный.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Сам себе поганку подпустил тем, что во время экспериментов редактируемый файл задания НЕ закрывал, а СОХРАНЯЛ и крон его не перечитывал. Тупо смотрел journalctl -f и видел сообщение о киллалл, которое на время игр из задания убрал. Понял, что надо файл задания закрывать и оно заработало вот в такой редакции -

* * * * * killall touchegg; export DISPLAY=:0.0; touchegg # JOB_ID_8
Но вообще отношу это к возникшему (возникавшему) глюку Иксов. И сейчас случается вдруг, что даже эта уже точно, просто точнее не бывает, работающая команда вдруг перестает выполняться. До перезагрузки (логи выводят сообщение об ошибке подключения к Х-серверу), после перезагрузки все работает штатно.
едем дальше. При всей моей любви к touchegg все же иногда он рушит х-сессию. Поскольку, напоминаю, у touchegg есть системная проблема, выражающаяся в том, что через некотрое время от него взлетает загрузка процессора, широко распространен подход через крон периодическое прибитие и перезапуск процесса. Запуск touchegg через задание крона требует указания номера х-сессии, примерно как export DISPLAY=:0; touchegg;. Фишка в том, что после падения сессии Иксов новая открывается в новым номером. Сейчас это решается совершенно не изящно, вот так -


killall touchegg; export DISPLAY=:1; touchegg; export DISPLAY=:0; touchegg; export DISPLAY=:2; touchegg; export DISPLAY=:3; touchegg; export DISPLAY=:4; touchegg; export DISPLAY=:5; touchegg; export DISPLAY=:6; touchegg; export DISPLAY=:7;touchegg ; export DISPLAY=:8; touchegg

Но ведь не комильфо, кто подскажет, как это сделать изящнее?
 
Зарегистрироваться или войдите чтобы оставить сообщение.