Seite 7 von 7

Verfasst: Sa 22 Apr 2006, 14:22
von mumdigau
Hallo,

bin gerade dabei, meine Plugins etwas aufzuräumen bzw. zu aktualisieren. Dabei möchte ich Standby und Reboot

ACTION=&Reboot, /var/plugins/reboot.sh
ACTION=&Standby, wget -O - -q http://localhost/control/standby?on

aus dem Flexmenü herausnehmen und wieder ins blaue Menü integrieren. Wie mache ich das?

Ciao

mumdigau

Verfasst: Sa 22 Apr 2006, 16:21
von jmittelst
Auf der blauen Taste sind sie so nicht verfügbar. Abhilfe: Shellstarter nehmen, die Befehle in ein .sh-Skript schreiben und den Pfad im Shellstarter auf das Skript anpassen.

cu
Jens

Verfasst: Sa 22 Apr 2006, 19:15
von mumdigau
jmittelst hat geschrieben:Auf der blauen Taste sind sie so nicht verfügbar. Abhilfe: Shellstarter nehmen, die Befehle in ein .sh-Skript schreiben und den Pfad im Shellstarter auf das Skript anpassen.
Danke, hat funktioniert.

Es gibt ja zwei Shellstarter: klein (4 kb) und groß (9 kb). Was ist der Unterschied? Wie sieht es mit der Kompatibilität bei JtG-Images aus? Ich habe jetzt mal das kleine genommen. Klappt mit meinem cramfs-Image.

Ciao

mumdigau

Verfasst: Sa 22 Apr 2006, 23:27
von DrStoned
Der kleine Shellstarter läuft nicht mehr auf den aktuellen Images. Meines Wissens nach, ist das bei den Images seit letzten Jahres im Oktober so. Wundere Dich also nicht, falls Du mal auf ein neueres Image wechselst, wenn dann Deine Plugins nicht mehr funktionieren. Siehe dazu auch diesen Beitrag.

Verfasst: So 23 Apr 2006, 0:30
von mumdigau
DrStoned hat geschrieben:Der kleine Shellstarter läuft nicht mehr auf den aktuellen Images. Meines Wissens nach, ist das bei den Images seit letzten Jahres im Oktober so. Wundere Dich also nicht, falls Du mal auf ein neueres Image wechselst, wenn dann Deine Plugins nicht mehr funktionieren. Siehe dazu auch diesen Beitrag.
Ja, danke. Habe ich gerade feststellen müssen. Also benutze ich nur noch die großen Shellstarter. Die laufen dann sowohl auf meiner Dbox mit cramfs-Image wie der anderen mit squashfs.

Gibt es eigentlich einen "Dummy"-Shellstarter, den man als Ausgangspunkt für eigene Skripts bzw. Plugins benutzen kann? Ich habe bisher eine "fremde" genommen und in der mit einem Hex-Editor den Skriptpfad angepaßt. Das ist aber nicht ganz sauber; denn in den großen Shellstartern stehen ja zusätzlich individuelle Informationen drin (u. a. zur Fehlerbehandlung).

mumdigau

Verfasst: So 23 Apr 2006, 5:25
von DrStoned
1. Gibt es eigentlich einen "Dummy"-Shellstarter, den man als Ausgangspunkt für eigene Skripts bzw. Plugins benutzen kann?
2. Ich habe bisher eine "fremde" genommen und in der mit einem Hex-Editor den Skriptpfad angepaßt.
3. Das ist aber nicht ganz sauber; denn in den großen Shellstartern stehen ja zusätzlich individuelle Informationen drin (u. a. zur Fehlerbehandlung).

mumdigau
1. Da wäre mir keiner bekannt.
2. Das mache ich genauso.
3. Zusätzlich ändere ich auch noch die anderen Parameter, näheres dazu habe ich in diesem Beitrag und hier beschrieben.

Ich füge hier jetzt noch mal einen Auszug aus den betreffenden Anleitungen ein:

Nimm Dir zum Beispiel die Datei tuxwetter.so aus dem zitierten Link, und öffne sie mit einem Hexeditor. Ich verwende Ultraedit. Dann suche die Zeichenfolge tuxwetter. Die ist beim Offset 00001d70h zu finden. Wenn Du die dann gefunden hast, schau Dir die mal genau an. Du wirst dann eine Pfadangabe /var/plugins/tuxwet/tuxwetter sehen. Diesen Pfad ersetzt Du dann durch den Pfadnamen mit dem gewünschten Skriptnamen. Restliche Stellen unbedingt mit der Bytefolge 00 ersetzen. Und darauf achten, daß Du nicht in die nächste Zeichenkette reinschreibst. Am besten sollte da noch eine Bytefolge 00 dazwischen sein. Notfalls den Skriptnamen kürzen und das Skript umbenennen.

Dann ist danach noch die Zeichenfolge Fehler beim öffnen von tuxwetter drin. Die Zeichenfolge tuxwetter ersetzt Du ebenfalls durch Deinen Skriptnamen. Dieser Teil dient zum Anzeigen einer Fehlermeldung beim seriellen Log, falls die Datei tuxwetter nicht im Pfad /var/plugins/tuxwet/ gefunden wird.

Dann ist da noch die Zeichenfolge

Code: Alles auswählen

wget -O /tmp/statout http://127.0.0.1/control/message?nmsg=Fehler%20beim%20oeffnen%20der%20Datei%20tuxwetter
Dieser Teil dient zum Anzeigen einer Fehlermeldung auf dem Bildschirm, falls die Datei tuxwetter nicht im Pfad /var/plugins/tuxwet/ gefunden wird. Hier Zeichenfolge tuxwetter ebenfalls durch Deinen gewünschten Skriptnamen ersetzen.



Zur Verdeutlichung füge ich hier wieder die 2 Screenshots ein, wie das gemacht wird.


Bild vorher:

Bild

Bild nachher:

Bild

Verfasst: So 23 Apr 2006, 8:25
von mumdigau
Guten Morgen,

danke für Deine Erläuterungen. Das sieht nun sauber aus. Ich hatte bisher eben nur den Dateipfad ersetzt.

Vielen Dank nochmals.

mumdigau

Verfasst: Fr 20 Okt 2006, 17:22
von mumdigau
Hallo,

Ich schreibe gerade ein Script in ein Plugin um, das ich über das Flexmenü starten möchte. Das Script benutzt 'input' und 'msgbox'. Daher habe ich für den Aufruf ACTION=§... gewählt, damit Neutrino während der Scriptausführung nicht auf die FB reagiert. Leider bleibt das Script beim Ausführen einer Pipe hängen. Nehme ich '§' heraus, läuft das Script sauber durch, aber jetzt reagiert Neutrino natürlich wieder auf die FB. Ich vermute, daß dies möglicherweise mit dem Framebuffer zusammenhängt.

Nun gut, ich habe also '§' entfernt und zu Beginn des Scripts per

wget -q -O /dev/null http://127.0.0.1/rc?lock

die FB deaktiviert. Jetzt klappt eigentlich alles, ich kann trotz Sperre noch 'input' und 'msgbox' bedienen. Aber leider öffnet sich durch wget ein Fenster, das eine Bestätigung der De- bzw. Reaktivierung der FB erwartet. Gibt es auch eine Möglichkeit, die FB still ab- bzw. anzuschalten ?

Noch lieber wäre mir natürlich, ich könnte den Aufruf im Flexmenü so gestalten, daß das Script sauber durchläuft, aber Neutrino auf die FB nicht reagiert.

mumdigau

Verfasst: Mi 22 Nov 2006, 21:32
von cuttero
Hab ne Linkstation II über NFS gemoutet, passt auch alles super. Den verbleibenden Speicherplatz kann ich schon problemlos übers Flexmenü abrufen.

Zwei Fragen:

1. Ich kann doch sicher auch relativ leicht die LS übers Flexmenü schlafen legen, so ein kleiner shutdown; wie müßte der Eintrag aussehen?

2. ...sollte es doch auch möglich sein, die Einträge nur aktiv darzustellen, wenn die LS online ist?

Bin dankbar für Eure Tipps, hab da selber zu wenig n Plan.

Gruß Cuttero

Verfasst: Do 23 Nov 2006, 6:50
von DrStoned
1.- Dazu müsste man erstmal wissen, mit welchem Befehl die Linkstation ausgeschaltet wird. Da ich selbst keine besitze, kann ich Dir diesbezüglich nicht weiterhelfen.
2. Das kannst Du über eine Schalterdatei machen, die Du auf der Festplatte der Linkstation ablegst. Diese kann man mit dem Befehl DEPENDON im Flexmenü auswerten. Näheres dazu in der readme.txt des Flexmenü-Plugins.

Verfasst: Fr 24 Nov 2006, 22:15
von cuttero
Danke für die Antwort

1. via Windoofs mit m HyperTerminal, root Login und dann shutdown -h now. Gibt auch ein WebInterface, da läuft allerdings irgendein cgi-scipt ab.

2. ...setzt also immer ne BESTIMMTE Datei voraus?! Das hatte ich gelesen. Mein Gedanke war ne Prüfung nach dem Motto: "Ist da überhaupt wer oder was?!", so ne Art Suche nach *.* oder Mountpunkt oder so?! Wär ja schick, sonst klappts ja bei versehentlichen Löschen der Datei die ganze Sache schon nicht mehr...

Danke, Gruß Kutter

Verfasst: Fr 24 Nov 2006, 23:06
von DrStoned
Zu 1. Das könntest Du mit dem neuen WOL-Timer-Plugin ausprobieren. Da steht in der Doku drin, wie man alternative Befehle abschickt.
Zu 2. Dann mach doch ne schreibgeschützte Datei rein. So jedenfalls wertet das WOL-Timer-Plugin das Mounten des externen Verzeichnisses aus.