У меня есть проект с парой Raspberry Pi. Я создал своего рода монитор, который должен работать, пока у пи есть питание. Я называю свою программу
"prodmain.py"
Но я запускаю ее через скрипт обновления под названием
"refresh.sh"
Код в этом выглядит как
xhost +
cd /home/pi/src/ProductionMonitor
git pull
cp /home/pi/src/ProductionMonitor/* /home/pi/Desktop/Production
cd /home/pi/Desktop/Production
cp /home/pi/Desktop/Production/refreshCode.sh /home/pi/Desktop/
/usr/bin/python3 prodmain.py 2>&1 >> logfile.data
Это тянет мой обновленный код и выполняет его с помощью python3. скрипт оболочки работает нормально. но когда я пытаюсь вставить это в любой механизм автозапуска, он не работает.
Я пытаюсь проверить это в виртуальной коробке Ubuntu 16.04. Это никогда не подходит. Если я посмотрю на системный журнал, то думаю, что это электронное письмо с надписью
no protocol specified
xhost: unable to open display ":0"
В некоторых исследованиях я думаю, что это может быть проблемой из-за того, что менеджер дисплеев не работает во время запуска сценария, но я Я не уверен.
Какой современный способ это сделать? Я нашел много ответов для старых систем. Я пробовал Chron, SystemD, положить файл оболочки в папку автозапуска. Я не могу заставить его работать