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.
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!?
geht das?
Danke und liebe Grüße für Eure Hilfe.
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
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)]
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.