Hallo,
ich kenne den Thread hier im Forum, wo es schon einmal um eine Start Unit für den VDR ging. Hier gab es unterschiedliche Lösungen sowie Patches für den VDR damit er auf notifys reagiert.
Mir reicht es jedoch aus, wenn ich meine bestehende Konfiguration mit runvdr-extreme von init.d nach systemd gut übertragen bekomme.
Mich würde interessieren, was ihr zu der folgenden Unit meint. So gut kenne ich mich damit noch nicht aus, so dass ggf. der ein oder andere Verbesserungen sieht.
Laufen tut es erst einmal. Ich finde das Stoppen des VDR dauert aber recht lange - kann aber auch sein, dass es mit runvdr-extreme auch vorher so war.
Hier mal meine Service-Datei:
[Unit]
Description=Video Disk Recorder
After=lircd.service
Wants=vdradmind.service
[Service]
EnvironmentFile=/etc/4vdr/config/hostconfig
ExecStartPre=/etc/4vdr/tools/runvdr-pre.sh
ExecStart=/etc/4vdr/tools/runvdr -C /etc/4vdr/config/runvdr-initd.conf
ExecStopPost=/etc/4vdr/tools/runvdr-post.sh
WorkingDirectory=/root
#User=pi
#Group=pi
PIDFile=/var/run/runvdr.pid
Restart=on-failure
SuccessExitStatus=1
[Install]
WantedBy=multi-user.target
Display More
Dazu die vor/danach Skripte:
/etc/4vdr/tools/runvdr-pre.sh
#!/bin/sh
#set -x
set -e
if [ -f /etc/4vdr/config/hostconfig ]; then
. /etc/4vdr/config/hostconfig
else
echo "Konfiguration /etc/4vdr/config/hostconfig fehlt!"
exit 2
fi
if [ ! -f /etc/4vdr/config/runvdr-initd.conf ]; then
echo "Konfiguration /etc/4vdr/config/runvdr-initd.conf fehlt!"
exit 2
fi
export HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/etc/4vdr/tools
DAEMON=/etc/4vdr/tools/runvdr
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 1
if [ "$ULIMIT_ENABLE" = "ON" ]; then
echo "Starting ulimit debugging : ulimit"
eval $ULIMIT_CMD
fi
if [ "$CPUFREQ_ENABLE" = "ON" ]; then
echo "Setting CPUFREQ minimum: cpufreqset"
eval $CPUFREQ_SET_CMD
fi
if [ "$ALSARESTORE_ENABLE" = "ON" ]; then
echo "Restoring ALSA settings : alsactl"
eval $ALSARESTORE_CMD || true && echo "check alsactl!"
fi
if [ "$IECSET_ENABLE" = "ON" ]; then
echo "set IEC settings : iecset"
eval $IECSET_CMD || true && echo "check iecset!"
fi
if [ "$CLEANCHAN_ENABLE" = "ON" ]; then
echo "enabling channel clean : cleanchannels"
eval $CLEANCHAN_CMD || true && echo "check cleanchannels!"
fi
if [ "$EXTRA_ENABLE" = "ON" ]; then
echo "enabling extra command : extracmd"
eval $EXTRA_CMD &
fi
exit 0
Display More
/etc/4vdr/tools/runvdr-post.sh
#!/bin/sh
#set -x
set -e
if [ -f /etc/4vdr/config/hostconfig ]; then
. /etc/4vdr/config/hostconfig
else
echo "Konfiguration /etc/4vdr/config/hostconfig fehlt!"
exit 2
fi
if [ ! -f /etc/4vdr/config/runvdr-initd.conf ]; then
echo "Konfiguration /etc/4vdr/config/runvdr-initd.conf fehlt!"
exit 2
fi
export HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/etc/4vdr/tools
DAEMON=/etc/4vdr/tools/runvdr
if [ "$CPUFREQ_ENABLE" = "ON" ]; then
echo "Setting CPUFREQ back to default: cpufreqset"
eval $CPUFREQ_UNSET_CMD
fi
exit 0
Display More
Gruss
Marcus