Автозапуск и авторестарт 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.
Вам це подобається? Поділіться в соціальних мережах!
- Останні коментарі
- AK24 квітня 2025 р. 12:04UPD: Переписал логику воспроизведения через стороннюю библиотеку BASS. Там выбрать можно
- AK01 квітня 2025 р. 11:41Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- Тепер обговоріть на форумі
- DT14 квітня 2025 р. 15:38Всем привет! На Qt 6.8 MinGW пытаюсь сделать управление подключением WiFi из программы. Пока делаю поддержку Windows, но так же хочу в дальнейшем внедрить и поддержку Linux/MacOS. Для…
- f15 лютого 2025 р. 13:46Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Добрый день!
Я перенёс ваш вопрос в раздел Linux, он здесь будет более к месту.
Что касается самого вопроса, то возможно, что нужно запускать от имени определённого пользователя.
Например так подправить
Либо с каким-то иным пользователем, но не от имени рута стартовать вашу программу
Не получается... Решил пробовать скрипт, выполняемый при загрузке. В скрипте вечный цикл по старту программы.