Qt: периодически запускать окно сообщения с помощью crontab в Ubuntu

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

QXcbConnection: Could not connect to display
Aborted (core dumped)

Я проверил это через Интернет и нашел ветку, которая может быть полезна: https://unix.stackexchange.com/questions/148945/could-not-connect-to-display-in-one-user-account/149026#149026

Я полагаю, что первый ответ дает решение, но это не ясно.
Он предлагает использовать x11 для общего доступа к рабочему столу и xauth для добавления мер безопасности, но не указывает, как их настраивать. Я уже установил xauth, но ошибка не исчезла.
Есть идеи о том, как решить эту проблему?

1

Решение

Я думаю, что среда DISPLAY отсутствует. Я предлагаю вам обернуть ваше приложение в скрипт-обертку (назовем его horloge.sh):

#!/bin/sh
DISPLAY=:0
export DISPLAY
/home/salwa/computing/cpp/horloge

Затем поместите horloge.sh в ваш crontab. Не забудьте сделать chmod u+x horloge.sh так что скрипт исполняемый.

0

Другие решения

Убедитесь, что пользователь, который запускает ваше приложение в строке crontab, это вы. В противном случае он может не иметь разрешений на использование X-сервера.

0

По вопросам рекламы [email protected]