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:

  • Go to Best Answer
  • 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.

    • Best Answer

    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: