Я являюсь довольно новым в сценариях в Ubuntu. У меня есть приложение в C++, который использует OpenCV для обработки видеоданных Ipcamera, я работаю в Ubuntu 14.04.
Я собираюсь попытаться объяснить, что я сделал:
Сначала я хотел проверить, можно ли сценарий было назвать в начальной загрузке, таким образом, я создал этот простой сценарий, которые только создают файл в том же каталоге, в котором у меня есть свой сценарий:
#!/bin/sh
RUTA_ENTORNO=`dirname $0`
echo "Creando archivo de prueba..."
touch ${RUTA_ENTORNO}/ArchivoPrueba.txt
exit 0
Я добавляю в rc.local следующую строку:
sh /home/myScript
И когда я перезагружаю свой компьютер файл, он был создан, настолько прекрасный.
Затем я скомпилировал свое приложение, и я перемещаю исполняемый файл в ту же папку моего Сценария, и я добавляю это:
#!/bin/sh
/home/executable
RUTA_ENTORNO=`dirname $0`
echo "Creando archivo de prueba..."
touch ${RUTA_ENTORNO}/ArchivoPrueba.txt
exit 0
Я добавил /home/executable
строка в моем Сценарии для выполнения его, и для проверки, если после этого file.txt создается.
Но вот то, что я не понимаю, когда я перезагружаю свою систему, камера не работает. Кажется, что приложение не бросает ошибок, но file.txt создается. Однако, если в терминале я работаю sh /home/myScript
, приложение запускается, и я вижу камеру, но file.txt не создается.
Как я могу запустить свое приложение автоматическим способом, когда я перезагружаю свою систему?
Я буду размышлять немного об этом:
/home/executable
, вероятно, зависит от инициализируемой графики, который я думаю, означал бы после того, как GUI работает. rc.local
отбрасывается, таким образом, Вы не знали бы, бросил ли он ошибку. Рассматривают использование Новомодное задание сессии . Создайте .conf
файл в ~/.config/upstart
(скажите camera.conf
), содержащий:
description "My OpenCV-based camera app"
start on startup
stop on session-end
exec /home/executable
Теперь это должно автоматически запуститься, когда Вы входите в систему. Можно использовать следующие команды, чтобы запуститься и остановиться приложение (camera
название .conf
файл, который Вы создали):
start camera
stop camera
можно также добавить respawn
к конфигурационному файлу, если Вы хотите, чтобы Выскочка запустила программу снова, при закрытии его.