Автозапуск файла Python при перезагрузке с использованием systemd на raspbian

Я пытаюсь автоматически запустить файл python при перезагрузке с помощью systemd. Причина, по которой я пытаюсь использовать systemd, заключается в том, что мой файл python требует, чтобы сеть была подключена и доступна в этот момент времени, а каталог /home/pi должен быть готов к использованию, а системное время было обновлено NTP продолжать. Однако при попытке запустить скрипт я получил следующие ошибки:

systemctl start mysript.service

Не удалось запустить myscript.service: модуль myscript.service не удалось загрузить: неверный аргумент. Подробности смотрите в системных журналах и в 'systemctl status myscript.service'.

systemctl status myscript.service

myscript.service Загружен: ошибка (причина: неверный аргумент) Активный неактивный (мертвый)

В myscript.service отсутствует настройка ExecStart. Отказ.

Ниже приведены myscript.service:

[unit]
Description=MyPythonFile
After=multi-user.target

[service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/mypythonfile/file.py

[Install]
WantedBy=multi-user.target

кто-нибудь знает, почему я получаю эту ошибку?

[[EDIT]] сослался на это сообщение: https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/

Теперь сервис можно загрузить, однако я получил сообщение об ошибке, потому что моя программа на Python использует Tkinter.

_tkinter.TclError: couldn't connect to display "0.0"
myscript.service: main process exited, code=exited, status=1/FAILURE
Unit myscript.service entered failed state.

Что я могу сделать, чтобы исправить эту ошибку?


person Kim SuYu    schedule 25.09.2017    source источник


Ответы (1)


После этого сообщения: https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/

Оказывается, [юнит] и [служба] должны иметь в себе заглавную: так теперь они становятся - [юнит] и [служба].

Это может быть неуместно, но может измениться

/usr/bin/python3

to

/usr/bin/python

ИЗМЕНИТЬ

"Я бы попробовал открыть ./.config/lxsession/LXDE-pi/autostart в текстовом редакторе и добавить ваш скрипт python с ведущим '@' @python HomeV3.py. Возможно, вам понадобится путь для вашего скрипта." – Кредит SurferTim – https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=184797

Надеюсь это поможет!

person Ben10    schedule 25.09.2017
comment
Если это не поможет - посмотрите здесь: raspberry-projects.com/pi/pi-operating-systems/raspbian/ в разделе Настройка приложения - person Ben10; 26.09.2017