крон не может запустить workrave

Время от времени я закрываю программу workrave. Например, когда я смотрю кино. Затем я забываю перезапускать его.

Так, я хочу перезапустить его неоднократно. Так или иначе крон не работает. Следующее дает сводку:

человечность, бионическая (18.04)

я - обычный пользователь (не корень)

$ xhost
access control enabled, only authorized clients can connect
INET:localhost
INET6:localhost
SI:localuser:USERNAME

$ echo $DISPLAY
:0

$ crontab -l
* * * * * export DISPLAY=:0 && /usr/bin/workrave

когда я открываю tilix терминал и тип /usr/bin/workrave, программа запускается прекрасный.

Команда

* * * * * env DISPLAY=:0 /usr/bin/workrave

не работает также.

0
задан 12 July 2018 в 12:24

1 ответ

Давайте предположим, что Ваше имя пользователя tiger - просто замените везде ниже имени с Вашим настоящим именем пользователя. Создайте сценарий удара в корневом каталоге Вашего пользователя:

touch /home/tiger/workrave.sh

Сделайте созданный исполняемый файл сценария:

chmod +x /home/tiger/workrave.sh

Откройте сценарий в текстовом редакторе, позвольте ему быть нано, например:

nano /home/tiger/workrave.sh

Вставьте в сценарий его содержание (не забывайте заменять tiger):

#!/bin/bash
ifrun=$(pgrep -cxu tiger -f /usr/bin/workrave)
if [[ $ifrun == 0 ]] ;
then
    DISPLAY=:0 /usr/bin/workrave &
fi

Сохраните изменения и закройте текстовый редактор. Откройте crontab как tiger:

crontab -e

Добавьте к концу crontab строку (не забывайте заменять tiger):

*/1 * * * * /home/tiger/workrave.sh

Сохраните и закройте crontab. Проверьте, работает ли все (крон будет запускать скрипт каждую минуту). Время установки для выполнения сценария.Это все.

Комментарий. Сценарий выполняет workrave, только если другие его экземпляры не работают.

ОБНОВЛЕНИЕ

Сценарий для тестирования (замена tiger):

#!/bin/bash
DISPLAY=:0 /usr/bin/workrave 2>> /home/tiger/workrave-errors.log
0
ответ дан 28 October 2019 в 08:47

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

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