Мой главный вопрос: возможно ли запустить программу OPENGL с помощью демона (сценарий выскочки)? Программа отображает окно на экране.
Подробнее: У меня есть программа opengl (выполняется с openframeworks, C ++), которую я хочу запустить с помощью демона.
Вручную запускаю свою программу в терминале следующим образом:
planeviz@planeviz:~/src/of/apps/myApps/planeEtoiles/bin$ ./planeEtoiles
Теперь я создал сценарий выскочки (/etc/init/myapp.conf), который должен запустить программу когда компьютер загружается и обязательно перезагрузите его в случае сбоев.
# job file
description "myapp"
author "eva"
# When to start the service
start on startup
start on runlevel [2345]
# When to stop the service
stop on runlevel [016]
# Automatically restart process if crashed
respawn
# Start the process
script
sudo /home/planeviz/src/of/apps/myApps/planeEtoiles/bin/planeEtoiles
end script
Затем я пытаюсь запустить демона через
sudo service myapp start
Мое приложение не открывается , dmesg скажите мне:
planeviz@planeviz:/etc/init$ dmesg | grep "init:"
[ 5282.003496] init: myapp main process (8008) terminated with status 139
Состояние завершения 139, похоже, намекает на ошибку сегментации. Посмотрев на вывод моей программы в журнале выскочки, я вижу, что последняя ошибка связана с созданием окна opengl.
planeviz@planeviz:/etc/init$ sudo tail /var/log/upstart/planeetoiles.log
....
[ error ] ofAppGLFWWindow: couldn't init GLFW
Это заставляет задуматься, возможно ли даже запустить программы OPENGL с выскочкой или если он предназначен только для работы с фоновыми процессами?