OpenBox Tools ; Netzwerk applet if überprüfung?

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Tomekk228, 26.12.2007.

  1. #1 Tomekk228, 26.12.2007
    Zuletzt bearbeitet: 26.12.2007
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    Hey,

    ich bin schon lange dabei mein Openbox mit selbstgeschriebenden Applets bzw Scripten zu füttern.

    Z.b Lautstärkeregelung, ftp uploader, Dateimanager usw usw usw....

    Diese bin ich auch nach und nach auf mein Wiki am veröffentlichen (immer dann wenn zeit dazu finde).

    Wenn die ein angemessenen Umfang haben, pack ich die in ein archiv und nenne sie einfach Openbox tools ;)

    Naja, kommen wir mal endlich zu sache.

    Und zwar bin ich grad bei, ein Netzwerkapplet zu scripten. Soweit hab ich es schon, würd nur gern eine If schleife hinzufügen in verbindung mit ping. Und zwar verbindet sich ja mein Arch am anfang schon und ich hab eine verbindung schon stehen. Doch wenn ich das Applet dann starte zeigt er mir unten ein X an das ich off sein soll obwohl das nicht stimmt.

    Weswegen ich eine If frage machen will.

    Und zwar, soll er alle 60 sekunden 2 mal google anpingen. Wenn fehlgeschlagen soll er zuerst das X zeigen, so wenn ich drauf klicke er eine verbindung aufbaut und ein grüner haken kommt.

    Aber (was ja bei start üblich ist) wenn die verbindung schon steht soll er zuerst den grünen haken zeigen.

    Hier mein script
    Code:
    #!/bin/sh
    while(true)
    do
       zenity --notification --window-icon=/home/tomekk/off.png
       /etc/rc.d/network start
       zenity --notification --window-icon=/home/tomekk/on.png
       /etc/rc.d/network stop
    done 
    
    Hab an sowas gedacht >
    Code:
    #!/bin/sh
    while(true)
    do
       if ping -c 2 www.google.de = 1 then go $1 else go $2
       $1 zenity --notification --window-icon=/home/tomekk/off.png
       /etc/rc.d/network start
       $2 zenity --notification --window-icon=/home/tomekk/on.png
       /etc/rc.d/network stop
    done 
    
    Ich weiß das es völlig falsch ist :D Ich denke halt an sowas. und habs so geschrieben damit ich verständlicher ausdrücken kann was ich meine.

    Danke schonmal für eure hilfe.

    Edit:
    Ich weiß auch das ich es auch so machen kann >
    Code:
    #!/bin/sh
    while(true)
    do
       if ping -c 2 www.google.de = 1 then go $1 else go $2
       $1 zenity --notification --window-icon=/home/tomekk/on.png
       /etc/rc.d/network stop
       $2 zenity --notification --window-icon=/home/tomekk/off.png
       /etc/rc.d/network start
    done 
    
    Aber so wärs nicht gelöst ;) Ich will es eleganter haben :)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Ale-x, 27.12.2007
    Zuletzt bearbeitet: 27.12.2007
    Ale-x

    Ale-x bash lehrling

    Dabei seit:
    13.04.2007
    Beiträge:
    109
    Zustimmungen:
    0
    Ort:
    Osnabrück
    ich kann zwar nix zum thema beitragen aber zenity ist genau das was ich schon seit einiger zeit suche :)
    das eröffnet mir ja ganz neue möglichkeiten


    kennst schon das ->
    in der konsole zenity --about eingeben (dann öffnet sich das about fenster)
    fentser offen lassen und "zen" eingeben :)
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    ich weiss nich 100%ig was du vor hast aber vielleicht meinst du so in etwa?

    Code:
    #!/bin/sh
    while(true)
    do
    ping -c 2 www.google.de  || PING=no
    
    if [ "$PING" != "no" ];then
       zenity --notification --window-icon=/home/tomekk/on.png
       /etc/rc.d/network stop
    else
       zenity --notification --window-icon=/home/tomekk/off.png
      /etc/rc.d/network start
    fi
    PING=yes
    done
    Edit 2: aber die schleife läuft gar nicht weiter erst wenn man drauf klickt
    so gehts vielleicht, nich schön aber geht
    das script läuft in schleife solange die verbindung steht
    und wenn die verbindung weg ist bleibt es stehn und verbindet sich mit einem klick neu????????

    Code:
    #!/bin/sh -x
    while sleep 5
    do
    ping -c 2 www.google.de  || PING=no
    killall zenity
    if [ "$PING" != "no" ];then
       zenity --notification --window-icon=/home/alex/zenity/on2.png  &
    else
       zenity --notification --window-icon=/home/alex/zenity/off2.png
       /etc/rc.d/network start
    fi
    PING=yes
    done
    
    ist natürlich doof wenn noch andere scripte mit zenity laufen, also das kanns noch nicht sein :)
     
  4. #3 Tomekk228, 28.12.2007
    Zuletzt bearbeitet: 28.12.2007
    Tomekk228

    Tomekk228 Lebende Foren Legende

    Dabei seit:
    14.08.2007
    Beiträge:
    2.417
    Zustimmungen:
    0
    Ort:
    /home/tomekk/
    genau so meinte ich es. Ich hab es noch nicht getestet da ich grad unter Windows bin. Aber das scheint das richtige zu sein. Laut Code aufbau deute ich es so, das wenn man das script startet, er überprüft ob eine inet verbindung da ist, und wenn nicht geht er zum Off symbol und wenn ja zum On symbol right?.

    Was aber da nicht verstehe, wieso hast du killall zenity da rein gesetzt?

    edit: Das mit dem About ist ja geil :D wie hast du das den rausgefunden.
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Ich hab es ein wenig verändert wie ich es mir eher vorgestellt habe >
    Code:
    #!/bin/sh -x
    while sleep 1
    do
    ping -c 1 www.google.de  || PING=no
    killall zenity
    if [ "$PING" != "no" ];then
       zenity --notification --text "Sie sind Online!" --window-icon=on.png
       /etc/rc.d/network stop
    else
       zenity --notification --text "Sie sind Offline!" --window-icon=off.png
       /etc/rc.d/network start
    fi
    PING=yes
    done
    
    Nur, ein Problem hab ich. Und zwar, wie kann ich Ping sagen das er auf ein Paket (speziell wenn man offline ist) nicht warten soll sondern sofort ausspucken soll ob das Paket ankam oder nicht. Den wenn ich wirklich online bin und ich starte das Script kommt sofort unten die grüne kugel, also sagt mir das ich on bin. Wenn ich aber das kabel ziehe, und dann das Script starte, dauert es erst mal ca eine Minute bis unten die rote Kugel kommt. Ich hab schon mit den parametern "-w" und "-l" und "-i" und was weiß ich schon probiert die in der Man pages stehen. Aber keins bringt was, bei allen muss ich warten. Einer eine idee?

    Btw: Wie starte ich eigentlich scripts automatisch beim start? Als normal user ist klar, einfach in die .xinitrc eintragen. Aber ich will bzw muss (eher will) das script ja als root ausführen. Nur wie?
    Mir kam die Idee mit sudo, aber das möchte ich nicht.

    Edit2: Was mir auch grad aufällt, ist die tatsache das die cpu auch 100% ausgelastet wird wenn ich das script starte Oo
     
  5. Ale-x

    Ale-x bash lehrling

    Dabei seit:
    13.04.2007
    Beiträge:
    109
    Zustimmungen:
    0
    Ort:
    Osnabrück
    ja das problem war bei mir das ich
    Code:
    zenity --notification --window-icon=/home/alex/zenity/on2.png  &
    immer in der hintergrund geschickt habe damit das script weiter läuft
    also musste ich es wieder killen (killall)weil du sonst die ganze leiste voller grüner punkte hast :) was aber auch keine schöne lösung ist

    bei deinem letzten script vorschlag kannst du killall raus nehmen da nichts mehr in der hintergrund geschickt wird.
    das problem jetzt ist aber das das script stehen bleibt bis man auf den button klickt
    das ist so sicher nicht gewohlt

    davon abgesehen ist es auch nicht unbedingt toll wenn man google ständig anpingt
    mal sehen ob man da nicht was besseres machen kann.
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

OpenBox Tools ; Netzwerk applet if überprüfung?

Die Seite wird geladen...

OpenBox Tools ; Netzwerk applet if überprüfung? - Ähnliche Themen

  1. LinuxDistribution: Bunsenlabs (Debian 8.2 mit Openbox)

    LinuxDistribution: Bunsenlabs (Debian 8.2 mit Openbox): Für alle die eine superschnelle minimalistische Distribution suchen, die auch auf schwachen Rechnern läuft, ich bin fündig geworden. Bin gestern...
  2. GUI Was ist das? Openbox KDE XFCE etc

    GUI Was ist das? Openbox KDE XFCE etc: Ich bin ca 2 Jahre Linux Nutzer. Begeistert. Frage: a Was ist eine Gui? b Kann ich zb Xubuntu mit KDE laufen lassen oder Ubuntu mit LXDE...
  3. (Openbox) Programme ins Startmenü einfügen?

    (Openbox) Programme ins Startmenü einfügen?: Hallo Gemeinde, ich nutze seit kurzem die neuste Version der Distro " CrunchBang Linux" welche auf Ubuntu basiert, wie ich finde aber viel...
  4. Was ist der Vorteil von Openbox ggü. KDE/GNOME

    Was ist der Vorteil von Openbox ggü. KDE/GNOME: Moin moin, ich habe mir gerade OpenBox installiert und benutze es im Moment statt des KDE Window Managers. Was ich mich frage: Welche Vorteile...
  5. Konqueror ohne Dateizuordnungen unter Openbox

    Konqueror ohne Dateizuordnungen unter Openbox: Hi, Und hier präsentiere ich mal wieder ein typ. Der_Da_93-Problem: Also unter KDE kann ich mit dem Konqueror ganz normal Dateien durch klicken...