PPanel
Aus OE-Alliance Support Wiki
Version vom 2. Februar 2012, 07:37 Uhr von Kent (Diskussion | Beiträge)
- 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 -> 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