Control-plugin
Aus VDR Wiki
Inhaltsverzeichnis |
Beschreibung
Autor: Jan Rieger
Stellt das OSD in einer Telnet-Session dar. Damit kann der VDR von jedem telnet-fähigen Rechner aus ferngesteuert werden.
Status
- Letztes Update 09/2008
- Letzter Patch 05/2012
Bilder
Konfiguration
svdrphosts.conf
Es muss noch in der Datei $VDRCONFIG/svdrphosts.conf der Rechner oder das Subnetz freigeschaltet werden, von dem aus die Telnet-Session eröffnet werden soll, z. B. durch Einfügen von 192.168.0.76 für einen Rechner mit dieser IP. Andernfalls erscheint lediglich die Meldung "access denied" im Telnet-Client.
Parameter
| Parameter (kurz) | Parameter (lang) | Beschreibung |
|---|---|---|
| -t <TTY> | --terminal=<TTY> | VDR über ein virtuelles Terminal steuern (Standard: keins) |
| -p <PORT> | --port=<PORT> | TCP-Port auf dem die Verbindungen ankommen sollen (Standard: 2002) |
Patches
[Link]
diff -Nru control-0.0.2a-kw3/control.c control-0.0.2a-kw3_0/control.c
--- control-0.0.2a-kw3/control.c 2008-09-26 16:19:29.000000000 +0200
+++ control-0.0.2a-kw3_0/control.c 2012-08-04 12:17:08.000000000 +0200
@@ -32,6 +32,7 @@
class cPluginControl : public cPlugin {
private:
// Add any member variables or functions you may need here.
+ cCtrlState* _pState;
cCtrlGateways* _pReceivers;
cCtrlGateway* _pTerminal;
@@ -67,6 +68,7 @@
cPluginControl::~cPluginControl()
{
// Clean up after yourself!
+ delete(_pState);
delete(_pReceivers);
delete(_pTerminal);
}
@@ -120,7 +122,7 @@
// Start any background activities the plugin shall perform.
if (glParPort || glParTerminal && *glParTerminal)
- new cCtrlState();
+ _pState = new cCtrlState();
if (glParPort) {
_pReceivers = new cCtrlGateways();
Tipps
- Zugriff mit PuTTY
- Beim Zugriff auf die Konsole mittels PuTTY muss beachtet werden, dass die Funktionstasten im Linux-Format gesendet werden. Die benötigten Einstellungen finden sich im Konfigurationsdialog der Verbindung unter Terminal -> Keyboard und dort "The Function keys and keypad" auf "Linux" stellen.
- Wenn man normale Kommandos von einer Shell aus (also ohne SVDRP) an den vdr senden will, kann man cat > /proc/`pidof vdr`/fd/0 verwenden. Siehe auch Artikel im englischen VDRWiki