Doume Manager : un plugin pour Dreambox 7000/7020

Home Page

 

La documentation au format PDF est téléchargeable ici   

 

L'utilitaire complet (MAJ 01/03/2006) est téléchargeable ICI

 

Octobre 2005

Objectif :

 

Le système Linux embarqué par la Dreambox donne accès à toutes sortes de commandes système, à partir d’une console telnet.

Toutefois, je rêvais depuis un moment d’une possibilité de lancer ces commandes à partir de la zap, depuis mon fauteuil, loin de tout PC !.

 

L’objectif de ce module, livré sous forme de plugin, est de rendre possible, à partir d’un menu de type ‘enigma’ de lancer n’importe quel script installé sur votre dreambox, et obtenir le résultat d’exécution dans une fenêtre de l’OSD Enigma.

 

Certaines ‘images’ telles que Hydra, par exemple, embarquaient un mécanisme de personnalisation du Menu Principal enigma ( type le ‘mycpanel.xml’ de Hydra).

Par contre, par défaut, la version enigma issue du CVS ne contient aucun mécanisme de ce genre. Les implémentations diverses d’extensions enigma, par les ‘Teams’, les rendent toutes incompatibles entre elles, et plus ou moins conviviales et/ou rapides d’accès.

 

Sous la forme d’un plugin, on devrait retrouver la même approche, exploitable par toutes les images.

 

Restrictions :

 

J’ai développé et compilé ce plugin à partir d’un CDK open-dreambox du 20/01/2006

Il est donc compilable sous cet environnement.

La compilation n’a pas été testée sous d’autres CDK

Le plugin ‘Doume_Manager’ ainsi obtenu a été testé avec succès sur :

-  L’image obtenue à partir de ce CVS du 20/01/2006

-  Gemini 2.20 (elle aussi basée sur un CVS récent)

 

Il ne fonctionne pas sur une image Hydra 7020 datant de Février 2005

 

Il n’a pas été testé sur des images anciennes, ou sur DM 7000

Mais il devrait fonctionner sur des images 7000 basées sur des CVS récents

 

Installation :

 

- transférer vers la dreambox (dans /tmp par exemple) le fichier doume_plugin.tar téléchargé

 

-en console telnet, loggée ‘root’, effectuer les commandes suivantes :

 

         cd /tmp

         tar xvf doume_plugin.tar

         ./install.sh

 


En fait, le script install.sh effectuera les commandes suivantes :

 

         mv ./doume.cfg /usr/lib/tuxbox/plugins

         mv ./doume.so /usr/lib/tuxbox/plugins

         mv ./doume_panel.xml /etc

         mv ./doume_scripts /usr/bin

         chmod 644 /etc/doume_panel.xml

         chmod 755 /usr/bin/doume_scripts

         chmod 755 /usr/lib/tuxbox/plugins/doume.so

         chmod 444 /usr/lib/tuxbox/plugins/doume.cfg

 

Personnalisation :

 

Vous pouvez personnaliser le menu que le plugin, une fois lancé, vous proposera sur l’écran

 

Il vous suffit de modifier, avec un éditeur de texte compatible Unix, le fichier :

 

Ce fichier doit respecter la syntaxe suivante :

 

<root>

   <execute name="Montages" target="/usr/bin/doume_scripts 1" result="1"/>

   <execute name="Espace libre" target="/usr/bin/doume_scripts 2" result="1"/>

   <execute name="Memoire libre" target="/usr/bin/doume_scripts 5" result="1"/>

<separator/>

   <execute name="Config reseau" target="/usr/bin/doume_scripts 3" result="1"/>

   <execute name="Liste processus" target="/usr/bin/doume_scripts 4" result="1"/>

</root>

 

name indique le libellé qui apparaîtra sur la ligne du menu

target indique la commande à lancer

result indique si un résultat doit être affiché après exécution : ‘1’ = oui ‘0’=non

 

Note : dans l’exemple livré, j’ai délibérément choisi de n’avoir qu’un seul script « doume_scripts » qui attend un paramètre (de 1 à 5) définissant la commande à lancer

Vous avez parfaitement la possibilité de créer un script pour chaque commande souhaitée, mais méfiez-vous de la prolifération de petits scripts indépendants : En cas de sauvegarde, il ne faut pas en oublier !

 

Ensuite, il vous appartiendra de personnaliser le script exemple proposé (/usr/bin/doume_scripts) ou d’en créer autant que vous voudrez, en accord avec le contenu de /etc/doume_panel.xml

 

 

Pour l’instant, il n’est possible de gérer qu’un niveau de menu (pas encore d’arborescence, mais ça viendra !)

 

Suggestion pour un accès rapide :

 

Selon l’image Dreambox que vous utilisez, vous pouvez, sur certaines, définir un ‘raccourci’ de la zap, vous permettant, moyennant une simple touche , d’accéder directement à ce plugin, par exemple avec un double-clic sur le bouton jaune (Gemini 2.20 -> Quickbutton setting).

Ainsi, vous accédez instantanément au menu de vos propres scripts.

 


Remarque sur le contenu de vos scripts :

 

Lorsque vous développez un script activable via Doume Manager Plugin, vous devez prendre en considération les contraintes suivantes :

 

1-    Au retour du script, c’est systématiquement le contenu du fichier texte /tmp/result qui sera affiché par le plugin (si demandé dans le Panel XML)

 

2-    Certains utilitaires Linux (comme nc) , en écrivant sur leur sortie standard (stdout) semblent essayer de formater le texte au format DOS (avec des cr\lf ou des cr seuls, au lieu de lf seul en convention Unix). Ceci donne lieu à une mise en page étrange du résultat par le plugin.

 

3-    Les lignes vides de /tmp/result ne sont pas affichées par le plugin (limitation taille d’écran)

 

4-   Si votre script ne retourne pas un status 0 (exit 0), le plugin n’affichera pas le contenu de /tmp/result après execution, même si cela a été demandé dans la configuration du Panel.

 

Résultat sur la TV :

 

1)    Menu proposé par le plugin

 

 

 

 

2)     Résultat d’execution ( commande nc sur cardserver, utilisé avec newcamd)

 

L'outil complet est téléchargeable ICI        Il contient une documentation au format PDF (Installation et Utilisation)

La documentation seule, au format PDF est téléchargeable ici

Si vous le mettez en oeuvre, merci de me donner votre avis par un petit mail à domi@dambrain.fr