PPanel

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


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 dem 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 eingeben:
Code:
chmod 755 /usr/script/*.sh
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