DISPLAY Variable

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von OliverFfm, 12.12.2005.

  1. #1 OliverFfm, 12.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Hallo allerseits,

    ich bin ganz neu hier. Habe ein großes Problem, bei dem ich nicht weiter komme. Ich habe noch nicht so viel Erfahrung in Shell-Script Programmierung.

    Ich benutze die bash Shell Version 3.0

    Ich habe folgendes Problem. Ich arbeite mit nagios einem Netzwerkmonitoring Tool.
    Dafür habe ich 2 Scripte selbst geschrieben.

    Einen Eventhandler und ein Init-Script.

    Das Init-Script ist für das Starten, Stoppen und Restarten von Firefox zuständig. Es funktioniert auch ohne Probleme, wenn ich es manuell aufrufe.

    Der Eventhandler hat die Aufgabe Firefox neu zu starten, wenn der Prozess Firefox-bin abgestürzt ist. Ich habe alle Schritte in eine Log-Datei schreiben lassen.
    Sobald der eventhandler aufgerufen wird, da kein Prozess für Firefox läuft, startet er das Init-Script. Laut Log finktioniert das auch wunderbar. Das Initscript führt ein restart aus. Zuerst beendet er Firefox (falls noch Prozesszombies existend sind) und dann startet er den Firefox neu.
    Das Problem ist folgendes. Durch den Eventhandler kennt er die lokale Displayvariable nicht. Das hat er mir im Log aufgezeichnet. Ich habe die Variable in das Init-Script reingeschrieben. Fehler-Log ist weg, der Log zeigt an, dass Firefox gestartet wird, aber es passiert nichts.

    Kennt sich jemand damit aus.

    Erstmal mein Initscript

    #!/bin/sh
    #
    # Author: Oliver Kirsch
    #
    # /usr/local/nagios/libexec/init.d/firefox
    #
    # and its symbolic link
    #
    # /usr/bin/firefox
    #
    ### BEGIN INIT INFO
    # Provides: firefox
    # Required-Start: $local_fs $remote_fs $network
    # Description: Browserstart
    # This script can be used to start/stop firefox
    ### END INIT INFO

    DISPLAY=localhost:0.0
    export DISPLAY && /usr/bin/firefox &

    # Shell functions sourced from /etc/rc.status:
    # rc_check check and set local and overall rc status
    # rc_status check and set local and overall rc status
    # rc_status -v ditto but be verbose in local rc status
    # rc_status -v -r ditto and clear the local rc status
    # rc_failed set local and overall rc status to failed
    # rc_failed <num> set local and overall rc status to <num>
    # rc_reset clear local rc status (overall remains)
    # rc_exit exit appropriate to overall rc status


    . /etc/rc.status

    rc_reset


    case "$1" in
    start)
    echo "Starting Firefox"
    startproc /usr/bin/firefox &
    rc_status -v
    ;;
    stop)
    echo "Shutdown Firefox"
    killproc -TERM firefox-bin
    rc_status -v
    ;;
    restart)
    echo "Restarting Firefox"
    $0 stop
    $0 start
    rc_status
    ;;
    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
    ;;
    esac
    rc_exit


    sind die Befehle für das Starten und das Killen die richtigen?


    und hier der Log nach dem Aufruf des Eventhandlers


    /usr/local/nagios/libexec/eventhandler/restart_firefox.sh CRITICAL SOFT 1
    Restarting Firefox
    Shutdown Firefox
    ..done
    Starting Firefox
    ..done
    Mon Dec 12 15:51:26 CET 2005
    /usr/local/nagios/libexec/eventhandler/restart_firefox.sh CRITICAL SOFT 2
    Restarting Firefox
    Shutdown Firefox
    ..done
    Starting Firefox
    ..done


    und so sah der Log vor dem setzen der Display Variablen aus

    /usr/local/nagios/libexec/eventhandler/restart_firefox.sh CRITICAL SOFT 1
    Restarting Firefox
    Shutdown Firefox
    DISPLAY empty or unusable
    DISPLAY=:0.0
    ..done
    Starting Firefox
    ..done
    DISPLAY empty or unusable
    DISPLAY=:0.0

    Was ist denn hier verkehrt?
    Ich danke für eure Hilfe

    Gruß Oliver
     
  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. muemmi

    muemmi Eroberer

    Dabei seit:
    14.12.2005
    Beiträge:
    65
    Zustimmungen:
    0
    hallo oliver

    ich benutze auch nagios und bin auch in unix noch nicht so fit !

    suche noch austausch partner

    hier meine email

    frank.mueller@atosorigin.com

    lg

    frank
     
  4. #3 OliverFfm, 14.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Hallo Frank,

    ich kann dir gerne helfen. Arbeite seit 3 Monaten jeden Tag mit Linux. In meinem Studium kam ich auch häufiger mit Linux in Berührung. Also Grundwissen habe ich und werde dir bestimmt bei manchen Problemen helfen können. Mit nagios arbeite ich seit 2 Monaten. Bin dort auch im Forum. Die können einem richtig weiterhelfen.

    Am besten du schreibst mir bei nagios oder hier eine PM

    Emailadresse habe ich dir ja nach Hause geschickt

    Gruß Oliver
     
  5. #4 OliverFfm, 14.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Bisher konnte mir noch keiner bei meinem Problem helfen.

    Kann sich rigendjemand bei mir melden, der sich mit den Displayvariablen auskennt. Ich denke da liegt das Problem.
    Die Displayvariable kann nicht richtig ausgewertet werden.

    Ich weiß nicht mehr weiter

    Gruß Oliver
     
  6. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    @OliverFfm

    Wenn ich das richtig verstehe, wird Dein Skript von einem anderen User ausgeführt (wahrscheinlich root). Schau Dir deshalb mal "xhost" an.

    @muemmi

    Wäre schön, wenn Ihr Eure Probleme hier im Forum lösen würdet, da dann auch andere davon profitieren würden ;)

    Gruss, Phorus
     
  7. #6 OliverFfm, 14.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    @Phorus

    eigentlich wird das Script vom gleichen User ausgeführt.
    Aber wo du nicht ganz unrecht hast, die PATH-Variablen werden von su root genommen (nicht vom Superuser). Ich habe die env des Scripts in einem Log aufzeichnen lassen. Komischerweise ist die Displayvariable auch gesetzt, wenn ich sie nicht explizit im Script deklariere.
    Trotzdem schmeißt er den Fehler

    DISPLAY empty or unusable
    DISPLAY=:0.0

    aus.

    Irgendwas mag er da garnicht. Ich weiß auch nicht, was es bewirkt, wenn die Werte der variablen geändert werden. Leider habe ich in diesem Bereich kein fundiertes Wissen, wie das genau mit der DISPLAY Variablen ist.

    Später allerdings soll wie du es sagst, das Script von einem anderen User ausgeführt werden.

    Gruß Oliver.

    PS Klar werden wir Probleme im Forum diskutieren
     
  8. #7 OliverFfm, 14.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Wie schau ich mir xhost an? Ist ne doofe Frage. Aber wo finde ich das? Gebe ich das auf der Kommandozeile ein als User oder root, so habe ich keine Authorisierung. Eine man gibt es nicht.

    Bitte um kurze Hilfe

    Danke

    PS: Kann auch kein Client dem XServer zuordnen
     
  9. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    http://www.netadmintools.com/html/xhost.man.html

    Ab und an hilft Google auch ;) - Nur so als kleiner Tipp ...

     
  10. #9 OliverFfm, 14.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Habe in google geguckt. Weiß auch für was xhost gut ist. Ich bekomme aber immer den Fehler, dass ich nicht authorisiert bin.

    access control enabled, only authorized clients can connect

    Ich soll ja was nachschauen in der xhost. Aber wie. jegliche Befehle enden mit dem obigen Satz.
     
  11. devilz

    devilz Pro*phet
    Administrator

    Dabei seit:
    01.05.2002
    Beiträge:
    12.244
    Zustimmungen:
    0
    Ort:
    Hessen
    z.B. mit "xhost +"
     
  12. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  13. #11 OliverFfm, 14.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Danke. Das funktioniert
     
  14. #12 OliverFfm, 15.12.2005
    OliverFfm

    OliverFfm Mitglied

    Dabei seit:
    12.12.2005
    Beiträge:
    29
    Zustimmungen:
    0
    Ort:
    Frankfurt
    Das mit dem xhost finktioniert. Habe den Client hinzugefügt. Aber trotzdem habe ich immer noch das Problem, dass der Firefox nicht startet.
    Habe herausgefunden, wenn das tool nagios den Eventhandler startet, dann verwendet er die env von root. Starte ich hingegen manuell den Eventhandler so nutzt er die env von nagios.
    Warum er das so macht weiß ich nicht. Da alle Rechte sowie Besitzer und Gruppe bei nagios sind.

    Gibt es ne Möglichkeit im Script die env von nagios zu nutzen

    Ich finde sonst absolut keinen Fehler
     
Thema:

DISPLAY Variable

Die Seite wird geladen...

DISPLAY Variable - Ähnliche Themen

  1. Raspberry Pi bekommt eigenes Touchdisplay

    Raspberry Pi bekommt eigenes Touchdisplay: Das offizielle Zubehör rund um den Minirechner »Raspberry Pi« wurde um einen Touchscreen ergänzt. Die 7 Zoll große Erweiterung bietet eine...
  2. xrandr: cant open display

    xrandr: cant open display: Moin ich hier ein Problem und keine Lösung parat :/ Und zwar kA ob es daran liegt darf ich das erste mal mit ner ATI Graka Erfahrungen sammeln....
  3. Display für Laufwerksschacht

    Display für Laufwerksschacht: Moin, nach mehreren vergeblichen Suchen im Netz frag ich einfach mal hier. Und zwar suche ich ein Display welches ich nach möglich ohne viel...
  4. Odroid-XU3: Entwicklerboard mit Octa-Core-CPU, 2 GB RAM und Displayport

    Odroid-XU3: Entwicklerboard mit Octa-Core-CPU, 2 GB RAM und Displayport: Hardkernel, ein südkoreaniscer Hersteller von Einplatinencomputern, hat mit dem Odroid-XU3 ein neues Entwicklerboard in sein Angebot aufgenommen....
  5. Anzeige fehlerhaft nach Displaytausch

    Anzeige fehlerhaft nach Displaytausch: Moin! Ich hab hier bei einem Sony vaio das Display getauscht hat sich auch als sehr einfach herausgestelt aber leider ist die Anzeige fehlerhaft...