Kurz zusammengefasst:
Wie lässt man einen /etc/xdg/autostart/app.desktop
Dienst auf einen systemd-Dienst warten?
Lang:
Ich habe eine App gestartet, für /etc/xdg/autostart/app.desktop
die zuerst ein systemd-Dienst gestartet werden muss.
Ich möchte einigen Sleep-/Wait-/Benutzercode vermeiden, wenn für solche Zwecke bereits ein Tool vorhanden ist.
Gibt es eine Art wait_for_service_to_be_running <service-name>
(systemd) Befehlszeilentool?
Antwort1
Erstellen Sie yourservice.service
die Datei, platzieren Sie sie in Ihrer .desktop-Datei /etc/systemd/system/
und führen Sie sie systemctl start yourservice
über diese aus.
[Unit]
Requires=somesystemd.service
After=somesystemd.service
[Service]
ExecStart=/path/to/yourservice
Oder Sie können es app.desktop
durch die systemd-Konfiguration ersetzen. Erstellen Sie es replacement.service
wie oben mit zusätzlichem Abschnitt:
[Install]
WantedBy=multi-user.target
Führen Sie es dann mit aus systemctl enable replacement.service
.
Systemd-Dienst – was ist „multi-user.target“kann genauere Angaben machen.