Как добавить автозагрузку "в последнюю очередь" на raspbean?
Скомпилировал программу в бинарник на Raspbery Pi. При запуске программы через терминал, она работает правильно, но если программа была запущена через автозапуск(использовал sudo systemctl enable ..) она начинает работать не корректно. В файл сервиса прописывал как и прямой путь к программе, так и bash скрипт, который в свою очередь запускал бинарник.
МОя задача состоит в том, чтоб при автозапуске бинарник запускался в последнюю очередь, когда загрузилось абсолютно все, как будто он запускается обычным способом, через терминал. Как это сделать???
Ответы (1 шт):
Если проблема именно в зависимостях - то выясните какие зависимости этой программе нужны, и добавьте инструкции After=… и Requires=… в unit-файл.
Если же проблема именно в запуске от имени пользователя - вам придётся выяснить чем окружение терминала отличается от системного и исправить различия следующими директивами:
WorkingDirectory=настраивает рабочую (текущую) директорию для скриптаEnvironment="name=value"настраивает переменные окруженияUser=…настраивает имя пользователя (что полезно когда требуется выдать скрипту права)BindPaths/MountImagesпригодится если скрипту нужны данные на несистемном носителе (скажем, на SD-карте или USB-флешке)AmbientCapabilities=…если скрипту нужна какая-то особая привилегия для работы (например, привилегияCAP_NET_BIND_SERVICEпозволяет прослушивать привилегированные порты, такие как 80й)