1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
runvdr extreme
Geschrieben von: Udo Richter <udo_richter(a)gmx.de>
Projekt Homepage: http://www.udo-richter.de/vdr/scripts.html#runvdr
Siehe Datei COPYING für Lizenz-Informationen
Über
--------------------------------------------------------------------------
runvdr extreme ist ein runvdr-Skript, genau wie das runvdr-Skript aus
der VDR-Distribution. Es ist nur rund 17 mal größer.
Einige der Features von runvdr extreme:
- Lädt die Grundkonfiguration aus runvdr.conf
- Die gesamte Konfiguration kann per Kommandozeile gesetzt werden
- Alle VDR-Optionen werden unterstützt
- Verwaltet runvdr.pid Datei, reagiert auf Signale
- Startet VDR im Falle von Fehlern neu
- Kommandos, um VDR neu zu starten und DVB-Treiber neu zu laden
- Beim VDR-Neustart wird die Konfiguration erneut gelesen
- Vermeidet endlose Schleifen, wenn VDR sofort stirbt
- Setzt Terminal zurück nachdem VDR beendet wurde
- Starten von Wrapper-Programmen zum Debuggen
- Wartet bis der VDR-Prozess beendet wurde,
hartes Beenden nach Timeout
- Kommandozeilenhilfe
- Kann Konsole umschalten
- Kann Landessprache für VDR setzen
- Unterstützt Pluginsetup-Plugin optional
Schnellstart
--------------------------------------------------------------------------
- Kopiere runvdr nach /usr/local/bin/ oder wo-auch-immer-du-magst
- Kopiere runvdr.conf.example nach /etc/runvdr.conf, wenn runvdr als
Server laufen soll, oder nach ~/.runvdr.conf, wenn runvdr durch
einen Benutzer gestartet werden soll.
- Bearbeite /etc/runvdr.conf nach deinem Bedarf
Die runvdr.conf ist größtenteils selbsterklärend. Alle Optionen sind auch
per Kommandozeile verfügbar, siehe runvdr --help.
Details
--------------------------------------------------------------------------
Die Optionen werden in dieser Reihenfolge ausgewertet:
1. Kommandozeilenoptionen haben höchste Priorität.
2. runvdr.conf auf Kommandozeile mit -C oder --runvdr-conf angegeben
3. Wenn kein -C und kein --runvdr-conf angegeben, benutze ~/.runvdr.conf
4. Wenn kein -C und kein --runvdr-conf un kein ~/.runvdr.conf, benutze
/etc/runvdr.conf
5. Wenn keine der obigen Dateien existiert, benutze runvdr-Defaults
Nur eine runvdr.conf wird normalerweise geladen, und nur eine -C Option
wird ausgewertet. Man kann aber den Inhalt einer runvdr.conf in einer anderen
runvdr.conf laden, wenn man die INCLUDE-Direktive verwendet. Man kann zum
Beispiel /etc/runvdr.conf aus der Datei ~/.runvdr.conf heraus laden, um
für den aktuellen Benutzer einige Einstellungen zu überschreiben.
Plugins, die durch die AddPlugin-Direktive in der conf-Datei oder die
--plugin oder -P Option geladen werden, können von der Plugin-Liste wieder
entfernt werden, wenn man "AddPlugin -name", --plugin="-name" oder -P-name
verwendet. Der name-Teil wird dabei als Muster für den Anfangsteil des Plugin-
Namens verwendet, alle Plugins, die auf "name*" passen, werden entfernt.
Insbesondere hebt "AddPlugin -" und -P- die gesamte bisherige Plugin-Liste
auf. Der selbe Mechanismus funktioniert auch beim -D Device-Parameter.
Um Parameter an VDR direkt weiter zu geben, ohne dass runvdr sie
interpretiert, kann -- als Parameter angegeben werden. Alle Parameter nach
-- werden unverändert an VDR weiter gegeben. So gibt "runvdr -- --help"
die Hilfestellung von VDR aus, und nicht die Hilfestellung von runvdr.
Voraussetzungen
--------------------------------------------------------------------------
Unix-Kommandos, die runvdr benutzt:
Kommando Debian-Paket
pgrep procps
ps procps
kill procps
sleep coreutils
date coreutils
chvt console-tools
getopt util-linux
setterm util-linux
Beispiele
--------------------------------------------------------------------------
Wenn die Standardeinstellungen in /etc/runvdr.conf vorgenommen sind, hier
ein paar coole Dinge, die man tun kann:
Starte VDR im Hintergrund (zum Beispiel mit TERMINAL=/dev/tty8 in conf-Datei):
runvdr &
Stoppe VDR und das runvdr-Skript:
runvdr --terminate
Dito, aber warte bis VDR beendet ist:
runvdr --terminate --wait
Starte den bereits laufenden VDR-Prozess neu, weil er hängt, oder
weil die runvdr.conf geändert wurde:
runvdr --restart
Dito, aber lade auch die DVB-Treiber neu:
runvdr --dvb-restart
Benutze den frich neu übersetzten VDR zum ersten mal:
runvdr --vdr=/usr/src/vdr-1.5.0/vdr --lib=/usr/src/vdr-1.5.0/PLUGINS/lib
Zum Debuggen, starte VDR ohne Terminalumlenkung:
runvdr --terminal="" --switchterminal=""
Lade alle Plugins, und zusätzlich das hello-Plugin:
runvdr -P hello
Lade nur das hello-Plugin:
runvdr -P- -P hello
Lade alle Plugins, aber nicht das hello-Plugin:
runvdr -P-hello
Starte einen Testlauf von runvdr, um zu sehen was passiert:
runvdr --wrapper=echo
Starte eine Debugging-Session:
runvdr --wrapper="gdb --args"
Starte mit einer komplett abweichenden Konfiguration:
runvdr --runvdr-conf="/etc/runvdr-debugging.conf"
|