I know I can make a script to rerun it on exit, but I'd prefer it be under systemd.
The device will be unattended; it's a video controller for a museum exhibit. There are a number of issues that are simplified using the desktop rather than running the lite OS or just disabling the desktop.
The command works if set it for multi-user, so the command isn't the problem. (And if it were, journalctl would report any errors.) It's not being attempted.
There are no error messages from `journalctl -f` during `sudo systemctl daemon-reload`.
Using journalctl -b, I see that my service is deleted to "break ordering cycle starting with multi-user.target/start". That's using the service file shown above, as advised by boot.pdf and comments above.
Based on output from `systemd-analyze dump`, it looks like the default target is multi-user, despite this being a pretty new/clean install of Raspberry OS Trixie just a few days ago. In any case, it shows that my unit should run before multi-user but after graphical, which isn't possible.
Also, it looks like graphical is the last target, so perhaps I need to create a new target to be the final one, so I can specify a Before. I haven't found a way to override the default Before target. Setting it empty first doesn't have any effect:shows the same results (after daemon-reload or reboot):Obviously the above isn't a solution because I'd still have a loop.
`systemctl get-default` prints "graphical.target". So I'm confused!
The device will be unattended; it's a video controller for a museum exhibit. There are a number of issues that are simplified using the desktop rather than running the lite OS or just disabling the desktop.
The command works if set it for multi-user, so the command isn't the problem. (And if it were, journalctl would report any errors.) It's not being attempted.
There are no error messages from `journalctl -f` during `sudo systemctl daemon-reload`.
Using journalctl -b, I see that my service is deleted to "break ordering cycle starting with multi-user.target/start". That's using the service file shown above, as advised by boot.pdf and comments above.
Based on output from `systemd-analyze dump`, it looks like the default target is multi-user, despite this being a pretty new/clean install of Raspberry OS Trixie just a few days ago. In any case, it shows that my unit should run before multi-user but after graphical, which isn't possible.
Also, it looks like graphical is the last target, so perhaps I need to create a new target to be the final one, so I can specify a Before. I haven't found a way to override the default Before target. Setting it empty first doesn't have any effect:
Code:
Before=Before=graphical.targetCode:
Before: multi-user.target (destination-default)Before: shutdown.target (origin-default)Before: graphical.target (origin-file)`systemctl get-default` prints "graphical.target". So I'm confused!
Statistics: Posted by jlearman — Fri Jan 16, 2026 5:37 pm