Raspbian VDR System-V-Init script
Aus VDR Wiki
VDR mit System-V-Init starten
Achtung: Dies ist experimentell!
Der System-V-Init-Script verwendet nicht die runvdr. Er ist bewusst einfacher gehalten als bei e-toby oder Ubuntu. Es gibt 2 Dateien:
- /etc/default/vdr
- /etc/init.d/vdr
Auserdem Softlinks in den Ordnern rcX.d.
/etc/default/vdr
# /etc/default/vdr # # Change to 1 to enable vdr's init-script ENABLED=1 . /etc/environment #setterm -clear -cursor off > /dev/tty9; chvt 9; #VDRKONSOLE="< /dev/tty9" OPTIONS="-w 60 -c /var/lib/vdr --log=3" # For other options see manpage vdr.1 VDRSHUTDOWN=/usr/local/bin/vdrpoweroff.sh USER=pi SVDRP_PORT=6419 PLUGINS="-P rpihddevice -P streamdev-client -P epgsync -P remotetimers -Psvdrpservice 192.168.168.20:6419" DAEMON="/usr/local/bin/vdr" # Video-Directory VIDEO_DIR="/srv/vdr/video" export LANG=de_DE.utf8 export LC_COLLATE=de_DE.utf8 export VDR_CHARSET_OVERRIDE=ISO-8859-9
/etc/init.d/vdr
#! /bin/bash -p # # vdr start-stop script # ### BEGIN INIT INFO # Provides: vdr # Required-Start: $all # Required-Stop: $remote_fs $network $syslog lirc # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Starts the Linux Video Disk Recorder (VDR) # Description: Starts the Linux Video Disk Recorder (VDR), # if it is enabled in /etc/default/vdr. ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=vdr DESC="Linux Video Disk Recorder" #DAEMON=/usr/sbin/runvdr PIDFILE=/var/run/runvdr.pid test -x $DAEMON || exit 0 . /etc/default/vdr VDROPTIONS="-v $VIDEO_DIR -s $VDRSHUTDOWN -u $USER -g /tmp --port $SVDRP_PORT $OPTIONS $PLUGINS $VDRKONSOLE" clean_console() { if [ "$KEYB_TTY" != "" ]; then tput -Tlinux clear > $KEYB_TTY fi } configure_console_input() { if [ "$KEYB_TTY" != "" ]; then clean_console echo -e "This tty is currently mapped to VDR, keypresses aren't echoed.\r" > $KEYB_TTY echo -n "For a login prompt switch to another console." > $KEYB_TTY REDIRECT="< $KEYB_TTY" if [ "$KEYB_TTY_SWITCH" = "1" ]; then chvt `echo "$KEYB_TTY" | sed "s/\/dev\/tty//"` fi fi } get_status() { if start-stop-daemon --start --startas $DAEMON --test \ --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null then echo " - is not running." exit 3 else echo " - is running." exit 0 fi } startvdr() { if [ "$ENABLED" != "0" ] ; then # only start vdr if there is no other instance running if start-stop-daemon --start --startas $DAEMON --test \ --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null then configure_console_input if [ -n "$LIRC" ]; then OPTIONS="--lirc=$LIRC $OPTIONS" fi if [ "$VFAT" == "1" ]; then OPTIONS="--dirname=,,1 $OPTIONS" fi if [ "$CACHE_DIR" != "" ]; then OPTIONS="--cachedir=$CACHE_DIR $OPTIONS" fi if [ "$RES_DIR" != "" ]; then OPTIONS="--resdir=$RES_DIR $OPTIONS" fi start-stop-daemon --start --quiet --startas $DAEMON --background \ --name $(basename $DAEMON) --pidfile $PIDFILE --make-pidfile -- \ $VDROPTIONS else echo -n " - seems to be running already" fi else echo -n " - aborted (to enable the daemon, edit /etc/default/vdr)" fi } stopvdr() { if start-stop-daemon --stop --retry 30 \ --name $(basename $DAEMON) --pidfile $PIDFILE >/dev/null then start-stop-daemon --stop --retry 30 --oknodo --exec $DAEMON >/dev/null rm -f $PIDFILE clean_console else echo -n " - seems not to be running" fi } case "$1" in start) echo -n "Starting $DESC: $NAME" startvdr echo "." ;; stop) echo -n "Stopping $DESC: $NAME" stopvdr echo "." ;; restart|force-reload) echo -n "Restarting $DESC: $NAME" stopvdr sleep 4 startvdr echo "." ;; status) echo -n "Getting status of $DESC: $NAME" get_status ;; *) N=/etc/init.d/$NAME echo "Usage: $N {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
rcX.d-Links erzeugen.
sudo insserv
Vdr manuell starten
sudo service vdr start
Vdr manuell stoppen
sudo service vdr stop
Mehr infos über Init-Scripts: