Control-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Aktuelle Version(en))
 
(14 dazwischenliegende Versionen von 2 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===
==Patch gegen Absturz beim Beenden des VDR==
+
* Letztes Update 09/2008
 +
* Letzter Patch 05/2012
 +
 
 +
==Bilder==
 +
<gallery>
 +
Bild:control-plugin-00.jpg|''Telnet - Kanäle''
 +
Bild:control-plugin-01.jpg|''Telnet - EPG''
 +
</gallery>
 +
 
 +
==Konfiguration==
 +
===svdrphosts.conf===
 +
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.
 +
 
 +
===Parameter===
 +
{| class="wikitable"
 +
|-
 +
!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==
 
[[http://www.vdr-portal.de/board1-news/board101-news-archiv/114203-vdr-control-ohne-absturz-beenden Link]]
 
[[http://www.vdr-portal.de/board1-news/board101-news-archiv/114203-vdr-control-ohne-absturz-beenden Link]]
  
Zeile 38: Zeile 64:
 
     _pReceivers = new cCtrlGateways();
 
     _pReceivers = new cCtrlGateways();
 
</pre>
 
</pre>
 
==Bilder==
 
{|
 
|[[Bild:control-plugin-00.jpg|thumb|none|''Telnet - Kanäle'']]
 
|[[Bild:control-plugin-01.jpg|thumb|none|''Telnet - EPG'']]
 
|}
 
 
<!-- ==Bedienung== -->
 
<!-- ===[[SVDRP]] Befehle=== -->
 
<!-- ==Hardwareanforderungen== -->
 
==Softwareanforderungen==
 
* telnet (Aufruf z. B.: ''telnet localhost 2002'') oder jedes andere telnet-fähige Programm, z. B. {{wikipedia|PuTTY}}.
 
 
==Installation==
 
Das Kompilieren und Installieren erfolgt auf den üblichen Weg der [[Plugin Installation]].
 
 
<!-- ===Optionen=== -->
 
===Patches===
 
* vdr >= '''1.3.18''' {{spiegel 1|vdr-control}}
 
 
==Konfiguration==
 
===svdrphosts.conf===
 
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.
 
 
<!-- ===Einstellungen=== -->
 
 
===Parameter===
 
{| class="wikitable"
 
|-
 
!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'')
 
|}
 
 
==Sonstiges==
 
===Probleme===
 
* 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.
 
 
: Siehe {{vdrportal board|48168|Sauberes Beenden einer "Control-plugin"-Telnet-Session ?}}. Eine von diesen Problemen bereinigte Pluginversion findet sich unten unter "Links"
 
  
 
===Tipps===
 
===Tipps===
Zeile 91: Zeile 70:
 
* 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]
 
* 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]
  
<!-- ===Wunschliste=== -->
+
==Versionen==
<!-- ===Snapshot=== -->
+
* [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]
  
==Aktuelle Version(en)==
+
==Aktuelle Version==
[http://www.u32.de/vdr.html#control Version für vdr 1.4.7 und 1.6.0]
+
* [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]
+
* [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