Control-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Probleme beseitigt)
 
(24 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 5: Zeile 5:
 
Damit kann der VDR  von jedem telnet-fähigen Rechner aus ferngesteuert werden.
 
Damit kann der VDR  von jedem telnet-fähigen Rechner aus ferngesteuert werden.
  
<!-- ===Status=== -->
+
===Status===
 +
* Letztes Update 09/2008
 +
* Letzter Patch 05/2012
 +
 
 
==Bilder==
 
==Bilder==
{|
+
<gallery>
|[[Bild:control-plugin-00.jpg|thumb|none|''Telnet - Kanäle'']]
+
Bild:control-plugin-00.jpg|''Telnet - Kanäle''
|[[Bild:control-plugin-01.jpg|thumb|none|''Telnet - EPG'']]
+
Bild:control-plugin-01.jpg|''Telnet - EPG''
|}
+
</gallery>
 
+
<!-- ==Bedienung== -->
+
<!-- ===[[SVDRP]] Befehle=== -->
+
<!-- ==Hardwareanforderungen== -->
+
==Softwareanforderungen==
+
* telnet (Aufruf z. B.: ''telnet localhost 2002'') oder jedes andere telnet-fähige Programm, z. B. PuTTY.
+
 
+
==Installation==
+
<!-- ===Optionen=== -->
+
===Patches===
+
* vdr >= '''1.3.18''' {{spiegel 1|vdr-control}}
+
  
 
==Konfiguration==
 
==Konfiguration==
Zeile 27: Zeile 19:
 
Es muss noch in der Datei '''[[Struktur|$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.
 
Es muss noch in der Datei '''[[Struktur|$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.
 
Andernfalls erscheint lediglich die Meldung "access denied" im Telnet-Client.
 
<!-- ===Einstellungen=== -->
 
  
 
===Parameter===
 
===Parameter===
Zeile 42: Zeile 32:
 
|}
 
|}
  
==Sonstiges==
+
==Patches==
===Probleme===
+
[[http://www.vdr-portal.de/board1-news/board101-news-archiv/114203-vdr-control-ohne-absturz-beenden Link]]
* Speicherzugriffsfehler beim Beenden einer Session
+
: Beendet man die Sitzung per Ctrl+C, stürzt VDR nach der nächsten OSD-Aktion mit einem Speicherzugriffsfehler ab (weil ein Thread hart beendet wurde, und bei der nächsten OSD-Aktion wird ein nicht mehr existierendes Objekt aufgerufen).
+
  
: Beendet man die Sitzung hart durch Beenden des Telnet-Programms, bleibt die Verbindung formal bestehen, es kommt also 'nur' zu einer Endlosschleife, so daß die CPU-Last des zugehörigen VDR-Prozesses auf knapp 100% ansteigt.
+
<pre>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
: Siehe {{vdrportal board|48168|Sauberes Beenden einer "Control-plugin"-Telnet-Session ?}}. Eine von diesen Problemen bereinigte Pluginversion findet sich unten unter "Links"
+
+++ 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();
 +
</pre>
  
 
===Tipps===
 
===Tipps===
 
* Zugriff mit PuTTY
 
* 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.
 
: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/<PID_OF_VDR>/fd/0''' verwenden. Siehe auch [http://www.linuxtv.org/vdrwiki/index.php/Using_an_xterm_to_control_VDR Artikel im englischen VDRWiki]
+
* 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 [http://www.linuxtv.org/vdrwiki/index.php/Using_an_xterm_to_control_VDR Artikel im englischen VDRWiki]
 +
 
 +
==Versionen==
 +
* [http://ricomp.de/vdr/vdr-control-0.0.2.tgz 0.0.2]
 +
* [http://ricomp.de/vdr/vdr-control-0.0.2a.tgz 0.0.2a]
  
<!-- ===Wunschliste=== -->
+
==Aktuelle Version==
<!-- ===Snapshot=== -->
+
* [http://www.u32.de/download/vdr-control-0.0.2a-kw3.tar.gz 0.0.2a_kw3]
 +
* [http://www.vdr-portal.de/board1-news/board101-news-archiv/114203-vdr-control-ohne-absturz-beenden empfohlener Patch]
  
 
==Links==
 
==Links==
 
# [http://ricomp.de/vdr Homepage des Plugins]
 
# [http://ricomp.de/vdr Homepage des Plugins]
# [http://www.u32.de/vdr.html#control Bereinigte Version der Plugins] für vdr 1.4.7 und 1.6.0
+
# [http://www.u32.de/vdr.html#control verbesserte Version]
  
 
[[Kategorie:Plugins]]
 
[[Kategorie:Plugins]]
 +
[[Kategorie:Fernbedienungen]]
 +
[[Kategorie:Admin-Plugins]]
 
{{i18n|control-plugin}}
 
{{i18n|control-plugin}}

Aktuelle Version vom 30. November 2013, 12:05 Uhr

Inhaltsverzeichnis

[Bearbeiten] 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.

[Bearbeiten] Status

  • Letztes Update 09/2008
  • Letzter Patch 05/2012

[Bearbeiten] Bilder

[Bearbeiten] Konfiguration

[Bearbeiten] 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.

[Bearbeiten] 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)

[Bearbeiten] 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();

[Bearbeiten] 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

[Bearbeiten] Versionen

[Bearbeiten] Aktuelle Version

[Bearbeiten] Links

  1. Homepage des Plugins
  2. verbesserte Version
In anderen Sprachen