PPanel

Aus OE-Alliance Support Wiki
Wechseln zu: Navigation, Suche

PPanel -> was ist das eigentlich + die Erklärung dazu !


   WICHTIGER HINWEIS !
   Bitte zuerst den EDIT vom 8.12.2011 ganz unten vor den Bildern beachten um die Vorraussetzungen damit das alles läuft zu
   schaffen da sich mittlerweile manches geändert hat, es geht dabei nur um bei Bedarf nachzuinstallierende Pakete.
   Dann hier wie folgt weiterlesen !
   Es gibt sowohl beim CT Image als auch beim PLI Image das sogenannte PPanel
   (nicht zu verwechseln mit dem CT Panel denn das ist in manchem ähnlich aber
   insgesammt viel umfangreicher, auch gibts das von Haus aus nur beim CT Image).
   Ob es das PPanel auch noch bei anderen Images gibt weiss ich nicht (aber zumindest kann ich es mir vorstellen).


   Wo findet man das PPanel im Menü ?
   Ich kann das PPanel hier über den langen Druck auf die search Taste aufrufen, da kommt dann so ein Fenster
   mit Bitte eine Erweiterung auswählen und da findet man es dann unter PPanels
   Man kann es sich auch per MultiQuickButton Plugin auf eine Taste legen dann wird es komfortabler.


   Nun was also ist das PPanel ?
   Ich würde sagen es ist eine Art Schnittstelle über die der User Befehle über die Fernbedienung ausführen kann.
   Damit das funktioniert muss man sich allerdings eine eigene .xml Datei anlegen in der man die Befehle definieren kann.
   Eine eigene .xml Datei muss immer im Verzeichnis /etc/ppanels abgelegt werden und kann jeden xbeliebeigen Namen tragen
   -> wichtig ist nur deren Endung also .xml die muss stimmen.
   Ich benenne meine .xml Datei immer zu my.xml
   Man kann (wenn die Befehle nicht zu umfangreich sind) diese also direkt in die eigens erstellte .xml Datei eintragen.
   Hierzu erst einmal ein einfaches Beispiel;
   Code:
   <directory name="My PPanel">
        <execute name="CPU Auslastung" target="top | head -n 2 | grep CPU:" quit="exit"/>
        </directory>
   Wenn wir uns den Code oben ansehen wie ist also der Aufbau dieser .xml ?
   Nun die erste Zeile also;
   <directory name="My PPanel"> - steht für das was wir im Menü dann sehen -> in dem Fall sehen wir da My PPanel
   Die zweite Zeile stellt den Befehl dar der ausgeführt werden soll und ist wie folgt aufgebaut;
   <execute name="CPU Auslastung" - steht wieder für das was wir im Menü sehen -> wir sehen hier dann CPU Auslastung
   target="top | head -n 2 | grep CPU:" - ist der eigentliche Befehl der aufgerufen wird.
   quit="exit"/> - damit sollte das ppanel geschlossen werden (bin gar nicht sicher ob das funktioniert aber es stört jedenfalls auch nicht).
   Die letzte Zeile also das;
   </directory> - dient sozusagen dem ordnungsgemässen Abschluss der .xml Datei.
   Soweit so gut, wenn Befehle aber zu komplex sind ist es besser nicht den/die Befehl/e direkt sondern stattdessen ein Shellscript
   welches den/die Befehl/e enthält in der .xml Datei aufzurufen.
   Dazu wieder ein Beispiel;
   Code:
   <directory name="My PPanel">
       <execute name="Festplatten Temperatur" target="sh /usr/script/hddtemp.sh" quit="exit"/>
       <execute name="Festplattenplatz Anzeige" target="/usr/script/memory_capacity.sh" quit="exit"/>
       <execute name="Arbeitsspeicher Nutzung" target="/usr/script/raminfo.sh" quit="exit"/>
       <execute name="CPU Info" target="/usr/script/cpuinfo.sh" quit="exit"/>
       <execute name="CPU Auslastung" target="top | head -n 2 | grep CPU:" quit="exit"/>
       <execute name="Module (geladen) anzeigen" target="lsmod" quit="exit"/>
       </directory>
   Wie wir hier im Code oben sehen können stehen nun ein paar Zeilen mehr in meiner .xml Datei !
   Nun ja, zunächst mal gilt es zu erwähnen das man beliebig viele Befehle in eine .xml Datei eintragen kann
   wenn man das möchte bzw. braucht.
   Wenn man sich den Code oben nun genauer ansieht wird man bemerken das bei den reinen Befehlen
   in manchen Zeilen also nach
   target=
   gar keine Befehle stehen sondern der Pfad zu nem Shellscript, man kann das sehr leicht erkennen
   da das Verzeichnis wo die Shellscripts dann liegen müssen /usr/script lautet.
   also in jeder Befehlszeile wo nach
   target=
   der Anfang
   /usr/script
   zu sehen ist wird ein oder mehrere Befehl/e nicht direkt aufgerufen sondern über ein Shellscript welches die Befehle
   seinerseits enthält und letztlich ausführt.
   Zu den Shellscripts ist noch zu sagen -> die muss man sich natürlich selbst erstellen und wie schon erwähnt
   sollten die in das Verzeichnis /usr/script gelegt werden, der Name der Shellscripts ist frei wählbar.
   Weiters benötigen die Shellscripts ausführbare Rechte als Rechte 755
   Man kann die Rechte gleich wenn man die Shellscripts per FTP z.b: mittels filezilla auf den CT ET9x00 kopiert
   mit filezilla setzen oder aber man setzt nachdem man die Shellscripts per FTP auf den CT ET9x00 kopiert hat
   folgenden Befehl einzeln für jedes Shellscript in telnet ab;
   Code:
   chmod 755 /pfad/zum/script
   Hat man mehrere Shellscripts und die liegen schon alle in /usr/script und tragen alle die Endung .sh
   würde der folgende Befehl genügen um alle auf einmal ausführbar zu machen.
   Code:
   chmod 755 /usr/script/*.sh
   Man arbeitet also mit wildcards (geht also in diesem Fall gezielt nur auf die Endung der
   Dateien los, alles was vor dem Stern also dem * steht ist nicht relevant).
   Tja, was gibts jetzt noch zu sagen, ja man kann in die eigene .xml Datei auch noch nen Seperator einbauen
   zwischen den Befehlszeilen das ist dazu da um zwischen den Zeilen mal ne Leerzeile sehen zu können.
   Das macht es bei vielen Befehlen dann etwas übersichtlicher im Menü -> mehr nicht.
   Dazu abschliessend noch mal ein Beispiel;
   Code:
   <directory name="My PPanel">
       <execute name="Movies sichtbar/unsichtbar machen" target="sh /usr/script/movie_hide.sh" quit="exit"/>
       <separator/>
       <execute name="Festplatten Temperatur" target="sh /usr/script/hddtemp.sh" quit="exit"/>
       <execute name="Festplattenplatz Anzeige" target="/usr/script/memory_capacity.sh" quit="exit"/>
       <execute name="Arbeitsspeicher Nutzung" target="/usr/script/raminfo.sh" quit="exit"/>
       <execute name="CPU Info" target="/usr/script/cpuinfo.sh" quit="exit"/>
       <execute name="CPU Auslastung" target="top | head -n 2 | grep CPU:" quit="exit"/>
       <execute name="Module (geladen) anzeigen" target="lsmod" quit="exit"/>
       <execute name="Kernel Version anzeigen " target="uname -a" quit="exit"/>
       </directory>
   Wie oben im Code zu sehen steht nach der ersten Zeile mit nem Befehl das;
   <separator/>
   eingetragen -> hier ist dann also ne Leerzeile vor dem nächsten Befehl im Menü zu sehen.
   Es gäbe zum PPanel mit eigener .xml und Shellcripts noch vieles zu sagen aber für den Hausgebrauch sollte
   das doch voll ausreichen.


   Ich hoffe ich hab da nix vergessen zu schreiben und ich poste Euch hier dann noch Bilder dazu was dabei rauskommen kann
   sowie auch ein Paket mit meiner .xml sowie den benötigten Shellscripts und dem binary hddtemp dazu damit ihr das selbst
   bei Euch probieren könnt und so ein Bild davon bekommt was da so möglich ist.
   Die my.xml aus meinem Paket gehört wie schon oben geschrieben nach /etc/ppanels
   Die Shellscripts gehören alle nach /usr/script und müssen ausführbar gemacht werden
   dazu einfach nach dem Kopieren der Shellscripts in das Verzeichnis /usr/script in telnet den folgenden Befehl;
   Code:
   chmod 755 /usr/script/*.sh
   absetzen.
   Damit das ganze im Menü schön leserlich aussieht poste ich Euch auch meine ppanel.py die in das Verzeichnis;
   /usr/lib/e.....2/python/Plugins/PLi/PPanel gehört -> einfach die welche dort schon liegt mit dieser überschreiben.
   EDIT !, die ppanel.py gehört ab denImages PLI 2.1 und CT V4 stattdessen nach usr/lib_e.....2/python/Plugins/Extensions/PPanel
   Wenn ihr auch noch über das PPanel die Platten Temperatur angezeigt haben wollt braucht ihr Euch nur das
   binary hddtemp in das Verzeichnis /usr/sbin zu legen es sei denn da liegt schon eines und mit dem folgenden Befehl;
   Code:
   chmod 755 /usr/sbin/hddtemp
   in telnet ausführbar zu machen sowie in /usr/share/misc ein File anzulegen mit Namen hddtemp.db in dem aber nix drinzustehen braucht
   ausser ihr habt hier schon ein angepasstes File hddtemp.db liegen -> dann das verwenden.
   Dann mal die Box neustarten und ihr könnt sehen wozu das PPanel gut sein kann.
   EDIT 8.12.2011 !
   Seit neuestem ist anscheinend in manchen Images das PPanel nicht mehr von Haus aus mit dabei.
   Wenn dies der Fall ist kann man es über den Feed per Menü -> Erweiterungen -> grüne Taste -> extensions
   nachinstallieren, es nennt sich derzeit ppanel (2.0+git9).
   Weiters ist das Programm lscpu welches man braucht um z.b: das Script Namens cpuinfo.sh gänzlich verwenden
   zu können im Paket e2fsprogs enthalten welches man über den Feed per Menü -> Einstellungen -> Softwareverwaltung ->
   Erweiterte Optionen -> Paketverwaltung nachinstallieren kann.


   UPDATE 16.01.2012 ! Paket aktualisiert -> ist im folgenden Link zu finden;
   http://www.et-view-support.com/Forum/showthread.php?4124-PPanel-gt-was-ist-das-eigentlich-die-Erkl%E4rung-dazu-!&p=66050&viewfull=1#post66050