Wie kann man einen /etc/xdg/autostart/app.desktop-Dienst auf einen (systemd-)Dienst warten lassen?

Wie kann man einen /etc/xdg/autostart/app.desktop-Dienst auf einen (systemd-)Dienst warten lassen?

Kurz zusammengefasst:

Wie lässt man einen /etc/xdg/autostart/app.desktopDienst auf einen systemd-Dienst warten?

Lang:

Ich habe eine App gestartet, für /etc/xdg/autostart/app.desktopdie 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.servicedie 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.desktopdurch die systemd-Konfiguration ersetzen. Erstellen Sie es replacement.servicewie 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.

verwandte Informationen