Итак, мне понадобилось запускать wine-приложение по расписанию (обновление Консультант Плюс), решил попробовать сделать это посредством Kcron через настройку гуишного приложения К-меню - параметры системы - планировщик заданий.
Вписываю в строку команды примерно следующее (естественно с правильным путем и нужными ключами)
env WINEPREFIX="/home/user/.wine" wine "C:\Program Files\Folder\File.exe"
после чего настраиваю время выполнения и сохраняю, но программа не выполняется автоматически в назначенное время. Если нажать в приложении Kcron кнопку "запустить задание" то оно благополучно запускается.
Почитал в интернете информацию о cron и пришел к выводу, что нужно добавить перед командой "DISPLAY=:0" чтобы программа запускалась из консоли в окружении KDE. Проблема в том, что если добавляешь DISPLAY=:0 перед командой в Kcron, то кнопка ОК становится неактивной, так как он по-видимому не видит из-за этого команду на запуск приложения. Ставил после DISPLAY=:0 && а затем команду - также не дает сохранить задание. Ставил эту функцию в конец - там она не работает.
Тогда я решил сделать костыль - в терминале ввел
crontab -e
и там дописал названную функцию перед командой и сохранил, получилась такая команда
DISPLAY=:0 env WINEPREFIX="/home/user/.wine" wine "C:\Program Files\Folder\File.exe"
в таком виде все запускается в нужное время, но когда открываешь Kcron то там кнопка ОК становится недоступной - то есть нельзя изменить время запуска или еще что-то пока не уберешь DISPLAY=:0 перед командой, только тогда даст сохранить.
Таким образом мы пришли к вопросу о том как же задавать функцию DISPLAY=:0, чтобы можно было оперативно с помощью гуишного приложения Kcron править параметры задания. Через crontab -e вручную создавать задания весьма неудобно сразу скажу, по крайней мере не приемлемо для меня.
Отправить комментарий