Systemd service syntax Hilfe

  • Ich möchte eine Instanz vom OMXplayer starten und an eine bestimmte Stelle im Video skippen.

    Dazu soll der Pi beim Boot auf das Netzwerk und die Netzwerkzeit (systemd-timesyncd) warten. Die aktuelle Uhrzeit soll dann entsprechend der Abspielposition im 24 Stunden langem Video sein.

    Wenn ich den service neu starte / den pi boote startet das Video immer vom Anfang. Komischerweise funktioniert jedoch alles korrekt wenn ich in einer Shell folgenden Befehl eingebe:

    /usr/bin/omxplayer -r --aspect-mode fill --no-keys --no-osd "/home/pi/Video/st24.mov" -l $(/usr/bin/date +%T)

    Wo liegt in meinem Serviceskript der Fehler?

    Hier das geschriebene Skript:

    [Unit]

    Description=24Pi

    Before=systemd-user-sessions.service

    After=time-sync.target

    Wants=time-sync.target

    [Service]

    TimeoutStartSec=0

    ExecStartPre=/bin/bash -c '/bin/journalctl -b -u systemd-timesyncd | /bin/grep -q "systemd-timesyncd.* Synchronized to time server"'

    ExecStart=/bin/bash -c '/usr/bin/omxplayer -r --aspect-mode fill --no-keys --no-osd "/home/pi/Video/st24.mov" -l $(/usr/bin/date +%T)'

    Type=simple

    User=pi

    ExecStop=/usr/bin/killall omxplayer.bin

    Restart=on-failure RestartSec=30

    [Install]

    WantedBy=multi-user.target

    :danke_ATDE:

  • Zur hilfreichsten Antwort springen
  • Meinst Du so?

    [Unit]

    Description=24Pi

    Before=systemd-user-sessions.service

    After=time-sync.target

    Wants=time-sync.target

    [Service]

    TimeoutStartSec=0

    ExecStart=/bin/bash -c '/bin/journalctl -b -u systemd-timesyncd | /bin/grep -q "systemd-timesyncd.* Synchronized to time server" && /usr/bin/omxplayer -r --aspect-mode fill --no-keys --no-osd "/home/pi/Video/st24.mov" -l $(/usr/bin/date +%T)'

    Type=simple

    User=pi

    ExecStop=/usr/bin/killall omxplayer.bin

    Restart=on-failure

    RestartSec=30

    [Install]

    WantedBy=multi-user.target


    Dann verändert sich nichts weiter. Das Video startet wieder vom Beginn.

    • Hilfreichste Antwort

    Nop

    und dann

  • Jetzt habe ich es verstanden und das Video startet dank des "ausgelagerten" bash-skripts an der richtigen Stelle!

    Vielen Dank für eure rasche und kompetenten Antworten!

    :danke_ATDE::bravo2:

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!