Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Plugins Shell Script per Plugin ohne Anzeige starten !?

vw2audi

Newbie
Registriert
12. August 2012
Beiträge
7
Reaktionspunkte
0
Punkte
21
Hallo zusammen,

ich habe einen Script, den ich im Moment per Hotkeys starte.
Dieser prüft unter anderem meine IP Adresse und ob die Internetverbindung besteht.

Im Scrit ist außerdem noch eine Funktion zur Ausgabe von Texten bzw. Statusmeldungen per wget local.host ........
So wird dann eine Anzeiger für 5 Sekunden gemacht, wenn die Internetverbindung nicht besteht.
#!/bin/sh

echo "Lokales Netzwerk wird geprüft:"
IP=$(/sbin/ip route | awk '/default/ { print $3 }')
echo "Ihr Router hat die IP" $IP
intertube=0
while [ $intertube -ne 1 ]; do
ping -c 1 $IP -w 10 >/dev/null
if [ $? -eq 0 ]; then
echo `date +%f`: "Lokales Netzwerk OK" >>/tmp/keys.log 2>&1
echo "Lokales Netzwerk OK"
echo ""
intertube=1;
else
echo `date +%f`: "Fehler im lokalen Netzwerk" >>/tmp/keys.log 2>&1
text="Fehler im lokalen Netzwerk!"
echo $text
wget -q --spider "127.0.0.1/web/message?text=$text&type=3&timeout=5" >/dev/null 2>&1
ifdown eth0 >/dev/null 2>&1
ifup eth0 >/dev/null 2>&1
ifdown wlan0 >/dev/null 2>&1
ifup wlan0 >/dev/null 2>&1
echo ""
sleep 2
exit
fi
done

Jetzt zu meinem Problem:
Das Script wird aus dem Plugin Folder immer im Terminal gestertet, ich hätte gerne, das es im Hintergrund läuft und nur die Meldungen angezeigt werden!?

from Plugins.Plugin import PluginDescriptor
from Screens.Console import Console
cmd = "/usr/meinscript/Script.sh"
def main(session, **kwargs):
session.open(Console,_("Script.sh"),[cmd])
def Plugins(**kwargs):
return [PluginDescriptor(name="Script starten", description=_("Script starten"), where = PluginDescriptor.WHERE_PLUGINMENU, icon="plugin.png", fnc=main),
PluginDescriptor(name="Script starten", description=_("Script starten"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, icon="plugin.png", fnc=main)]

geht das?

Danke und liebe Grüße für Eure Hilfe.
 
Alter Thread, aber ja das geht.
Musst nur im Script selbst wennst es per Hotkey startest erstmal nen Tastendruck (entweder die exit oder die ok Taste) simulieren (geht auch mittels wget)
dann wird gleich mal die Konsole geschlossen, Script läuft natürlich weiter aber nun im Background.
Kannst oben im Script die Variablen wie folgt;
Code:
BOXIP=http://localhost
WGET=/usr/bin/wget
eintragen, und dann als ersten Befehl nach den Variablen halt z.b: das eintragen;
Code:
$WGET -q -O - $BOXIP/web/remotecontrol?command=174
das simuliert den exit Tastendruck und so schliesst das gleich mal die Konsole die ja als erstes aufpoppt wenn du das Script per Hotkey startest.

Ich mach das seit geraumer Zeit immer so bei meinen Scripts zu den E2 Boxen, nur lass ich zusätzlich noch die Ausgaben in ein Logfile schreiben.

Hier noch ein Link zur keyids.py falls du mal andere Tastendrücke auch in nem Script simulieren möchtest;
 
Zuletzt bearbeitet:
Hey, habe genau das selbe Problem und versuche es vergeblich zu lösen.
Könnte mir da jemand helfen? Ich führe per Hotkey eine .sh Datei aus dem Ordner /usr/script aus.

Es erscheint die Anzeige mit dem Scriptinhalt was alles ausgeführt wird und danach kommt die Info Meldung welche ich eingebaut habe.
Wie bekomme ich das Fenster weg damit nur noch die Info Nachricht angezeigt wird?

Brauche ich da ein eigenes Plugin? Wenn ja, kann mir das jemand schreiben? Hilfe wird natürlich bezahlt.
 
Hast Du Rechte 755 vergeben?
Code:
chmod 755 /usr/script/Enigma2-Script.sh
Rechte überprüfen
Code:
ls -l /usr/script/Enigma2-Script.sh
Möglichkeit 1:
installiere ppanel
Code:
opkg update
opkg install enigma2-plugin-extensions-ppanel
reboot
Möglichkeit 2:
Seit OATV7.3 ist ppanel nicht mehr zwingend erforderlich. Es reicht aus, vor den Script-Namen ein Ausrufungszeichen zu setzen.
Statt "Enigma2-Script.sh" "!Enigma2-Script.sh".
Ggf muss da aber ppanel deinstalliert werden.
 
Genau installier mal ppanel (is eh nur ein ganz kleines Plugin) und dann nochmal testen.
Wenns dann noch immer nicht klappt zeig mal dein Script damit man sich das ansehen kann.

Grüsse
Pike
 
Zurück
Oben