Meldung von Systemprozess auf der X-Windows Oberfläche anzeigen
Guten Morgen, ich habe folgendes Problem: Die fünf Rechner unseres Netzwerks, sind an einer USV angeschlossen. Jeder der Rechner ist über das Netzwerk mit der USV verbunden. Auf jedem Rechner läuft ein Prozess, welcher auf Meldungen der USV hört und gegebenenfalls Warnungen über Stromausfälle usw. anzeigen sollte. Die Anwender arbeiten auf der X-Windows Oberfläche. Nun weiss ich nicht, wie ich den USV-Listener Prozess dazu bringen kann, die Warnungen auf der X-Windows Oberfläche anzuzeigen. Die Clients arbeiten mit KDE 3.2 unter SuSE 9.1. Ich bin für jeden Vorschlag dankbar. Grüsse Werner
Hallo, Am Sun, 24 Oct 2004, Werner Merz schrieb:
ich habe folgendes Problem: Die fünf Rechner unseres Netzwerks, sind an einer USV angeschlossen.
Stimmt. Das kann ein Problem sein. scnr.
Jeder der Rechner ist über das Netzwerk mit der USV verbunden. Auf jedem Rechner läuft ein Prozess, welcher auf Meldungen der USV hört und gegebenenfalls Warnungen über Stromausfälle usw. anzeigen sollte. Die Anwender arbeiten auf der X-Windows Oberfläche. Nun weiss ich nicht, wie ich den USV-Listener Prozess dazu bringen kann, die Warnungen auf der X-Windows Oberfläche anzuzeigen.
Die Clients arbeiten mit KDE 3.2 unter SuSE 9.1.
Lass den listener in ne Datei schreiben, z.B. /var/log/usv.log und dann 'xterm -e "tail -f /var/log/usv.log"' man xmessage man dialog Aufruf wie dialog: kdialog, gdialog -dnh -- "The idea that Bill Gates has appeared like a knight in shining armour to lead all customers out of a mire of technological chaos neatly ignores the fact that it was he who, by peddling second-rate technology, led them into it in the first place." -- Douglas Adams in Guardian, 25-Aug-95
Am Sonntag, 24. Oktober 2004 20.07 schrieb David Haller:
Hallo,
Am Sun, 24 Oct 2004, Werner Merz schrieb:
ich habe folgendes Problem: Die fünf Rechner unseres Netzwerks, sind an einer USV angeschlossen.
Stimmt. Das kann ein Problem sein. scnr.
Jeder der Rechner ist über das Netzwerk mit der USV verbunden. Auf jedem Rechner läuft ein Prozess, welcher auf Meldungen der USV hört und gegebenenfalls Warnungen über Stromausfälle usw. anzeigen sollte. Die Anwender arbeiten auf der X-Windows Oberfläche. Nun weiss ich nicht, wie ich den USV-Listener Prozess dazu bringen kann, die Warnungen auf der X-Windows Oberfläche anzuzeigen.
Die Clients arbeiten mit KDE 3.2 unter SuSE 9.1.
Lass den listener in ne Datei schreiben, z.B. /var/log/usv.log und dann 'xterm -e "tail -f /var/log/usv.log"'
man xmessage man dialog
Aufruf wie dialog: kdialog, gdialog
Danke für den Tipp, er hat mich auf die richtige Spur gebracht: 1.) Mit mkfifo -m 0644 /dev/usvpipe eine FIFO-Pipe angelegt. 2.) Den Listener in /dev/usvpipe schreiben lassen. 3.) Einen symbolischen Link auf Folgendes Shell-Script in ~/.kde/Autostart erstellt, damit dieses beim Start von KDE mitgestartet wird. #! /bin/bash while test "1" == "1" ; do read a < /dev/usvpipe if test -z "$a" ; then sleep 5; else echo $a | /usr/X11/bin/xmessage -nearmouse -file - ; fi; done 4.) Rechte der FIFO-Pipe angepasst 5.) Läuft. Besten Dank Werner
Hallo, Am Fri, 29 Oct 2004, Werner Merz schrieb:
Am Sonntag, 24. Oktober 2004 20.07 schrieb David Haller: [..]
Lass den listener in ne Datei schreiben, z.B. /var/log/usv.log und dann 'xterm -e "tail -f /var/log/usv.log"'
man xmessage man dialog
Aufruf wie dialog: kdialog, gdialog
Danke für den Tipp, er hat mich auf die richtige Spur gebracht:
1.) Mit mkfifo -m 0644 /dev/usvpipe eine FIFO-Pipe angelegt. 2.) Den Listener in /dev/usvpipe schreiben lassen. 3.) Einen symbolischen Link auf Folgendes Shell-Script in ~/.kde/Autostart erstellt, damit dieses beim Start von KDE mitgestartet wird.
#! /bin/bash while test "1" == "1" ; do
Du willst dir 'help true' und 'help trap' anschauen.
read a < /dev/usvpipe
Die pipe solltest du nicht unbedingt in /dev/ anlegen.
if test -z "$a" ; then sleep 5; else echo $a | /usr/X11/bin/xmessage -nearmouse -file - ; fi; done
Probiere mal: ==== #! /bin/sh trap "exit 0" 1 2 15 while true; do /usr/X11/bin/xmessage -nearmouse -file - < /dev/usvpipe done ==== xmessage wartet von selbst bis etwas in der pipe ankommt, das wird dann angezeigt. Wird die Anzeige vom user geschlossen beendet sich xmessage und die Schleife geht in die naechste Runde, worauf xmessage wieder wartet bis was im fifo ankommt. -dnh -- Und nein, der sogenannte RAM-Test beim Booten ist zumeist nichtmal geeignet, einen völlig defekten RAM-Riegel von einer völlig intakten Schuhsohle zu unterscheiden. -- A. Beck
participants (2)
-
David Haller
-
Werner Merz