Я набираю терминал, journalctl | more
, отлично работает для меня, тогда я использую стрелки вверх или вниз.
Ваша служба не запускается, потому что шина pi
пользователя --user
не запускается до тех пор, пока pi
не войдет в систему. Хотя ответ Михала был частично правильным (, вы должны использовать default.target
вместо multi-user.target
в --user
режим ), лучший ответ — поместить ваш сервис на системную шину.
Если вы хотите запустить эту службу даже без pi
входа в систему, то поместите ее на системную шину. Это касается:
mv ~/.config/systemd/user/argus.service /etc/systemd/system/
User=pi
в секцию [Service]
в argus.service
. Теперь ваш сценарий имеет все те же разрешения, как если бы он выполнялся пользователем pi
на пользовательской шине, за исключением того, что он выполняется независимо от статуса входа пользователя -. Единственным недостатком является необходимость запуска sudo
при работе с этим устройством с помощью systemctl
или journalctl
.
Основное преимущество шины --user
заключается в том, что пользователь может использовать systemctl
или journalctl
без sudo
для управления определенными службами. Это также позволяет запускать и останавливать службы на основе входа или выхода пользователя. Поскольку ваша служба должна запускаться без пользовательского ввода и без триггера входа пользователя, системная шина — лучшее место для этого.
Если вы пытаетесь запустить службу под пользовательским экземпляром systemd, вы должны использовать default.target
, а не multi-user.target
. multi-user.target
не используется пользовательским экземпляром systemd.
См.https://www.freedesktop.org/software/systemd/man/systemd.special.html#default.target1