Автозапуск и авторестарт Qt Gui Application в Linux
Здравствуйте, дорогие форумчане! Сделал специальную тему для такого вопрос.
У меня Debian 9.5.
Моё приложение не получилось запустить с помощью утилиты systemd.
Писал, что
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' qt.qpa.screen: QXcbConnection: Could not connect to display Could not connect to any X display
По мере изучения вопроса я понял, что systemd может стартовать и рестортовать в случае падения программы без GUI.
Посмотрел в сторону обычной автозагрузке - Desktop Entry Files. Статья есть на этом сайте.
Автозагрузка прошла успешно. Но мне нужен еще и рестарт программы при её закрытие, крушение.
Посмотрел в сторону
supervisor
. Думал, что она меня спасет. Но нет. После переделывания
тестового примера
и попытки запуска получил тоже:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' qt.qpa.screen: QXcbConnection: Could not connect to display Could not connect to any X display.
Вот мой скрипт:
Файл: /usr/local/bin/long.sh #!/bin/bash /opt/control_block/b/bin/control_block
Вот кофиг:
Файл: /etc/supervisor/conf.d/long_script.conf [program:long_script] command=/usr/local/bin/long.sh autostart=true autorestart=true stderr_logfile=/var/log/long.err.log stdout_logfile=/var/log/long.out.log
Не могли бы помочь, почему не хочет подключиться к X-Server?
Вручную запустить могу. Переменная DISPLAY установлена.
Здесь говорится о такой проблеме. Приводится код для устранения. Но и упоминается, что это:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
qt.qpa.screen: QXcbConnection: Could not connect to display
всего-лишь warning.
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Akiv Doros
- 11 ноября 2024 г. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 1:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 1:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Добрый день!
Я перенёс ваш вопрос в раздел Linux, он здесь будет более к месту.
Что касается самого вопроса, то возможно, что нужно запускать от имени определённого пользователя.
Например так подправить
Либо с каким-то иным пользователем, но не от имени рута стартовать вашу программу
Не получается... Решил пробовать скрипт, выполняемый при загрузке. В скрипте вечный цикл по старту программы.