Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.os.unix.linux.misc > #77934 > unrolled thread

Benachrichtigung übers Netzwerk

Started byTim Ritberg <tim@server.invalid>
First post2015-09-04 20:52 +0200
Last post2015-11-20 12:31 +0100
Articles 11 — 5 participants

Back to article view | Back to de.comp.os.unix.linux.misc


Contents

  Benachrichtigung übers Netzwerk Tim Ritberg <tim@server.invalid> - 2015-09-04 20:52 +0200
    Re: Benachrichtigung übers Netzwerk Helmut Waitzmann <nn.throttle@xoxy.net> - 2015-09-05 04:09 +0200
      Re: Benachrichtigung übers Netzwerk Tim Ritberg <tim@server.invalid> - 2015-09-05 14:40 +0200
        Re: Benachrichtigung übers Netzwerk Helmut Waitzmann <nn.throttle@xoxy.net> - 2015-09-07 01:10 +0200
          Re: Benachrichtigung übers Netzwerk Tim Ritberg <tim@server.invalid> - 2015-09-20 13:22 +0200
            Re: Benachrichtigung übers Netzwerk Stefan Enzinger <mindoms@aon.at> - 2015-09-23 10:42 +0200
    Re: Benachrichtigung übers Netzwerk Richard Maurer <usenetrm.nospam@gmx.at> - 2015-09-06 06:22 +0200
    Re: Benachrichtigung übers Netzwerk Stefan Enzinger <mindoms@aon.at> - 2015-09-06 09:48 +0200
      Re: Benachrichtigung übers Netzwerk Tim Ritberg <tim@server.invalid> - 2015-09-06 22:04 +0200
    Re: Benachrichtigung übers Netzwerk Ottmar Cartellieri <o.cartellieri@online.de> - 2015-09-06 10:26 +0200
      Re: Benachrichtigung übers Netzwerk Tim Ritberg <tim@server.invalid> - 2015-11-20 12:31 +0100

#77934 — Benachrichtigung übers Netzwerk

FromTim Ritberg <tim@server.invalid>
Date2015-09-04 20:52 +0200
SubjectBenachrichtigung übers Netzwerk
Message-ID<mscp9t$52n$1@tota-refugium.de>
Hi!

Angeregt durch Andreas Notify-Send versuch ich nun Anrufe über ISDNlog
am Server übers Netzwerk auf die Desktops zu schicken.

Auf dem Server mache ich:
tail -n 0 -f /var/log/isdn/isdnlog | netcat desktop-pc 8899

Auf dem Desktop:
netcat -l -p 8899 | grep "RING" | while read OUTPUT; do notify-send
"$OUTPUT"; done

oder:

netcat -l -p 8899 | grep "RING" |xargs -0 notify-send "Telefon"


Aber notify-send fehlt irgendwie ein EOF oder so.
Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.

Hat jemand eine Lösung?

-- 
Xubuntu 15.04 64 bit, Kernel 3.19.0
ASRock Z77 Extreme4, 16 GB RAM, i7 3770

Eine Firewall ist kein Konzept! RTFM!
RFC 2979

[toc] | [next] | [standalone]


#77935

FromHelmut Waitzmann <nn.throttle@xoxy.net>
Date2015-09-05 04:09 +0200
Message-ID<87y4glehwn.fsf@helmutwaitzmann.news.arcor.de>
In reply to#77934
Tim Ritberg <tim@server.invalid> writes:

>Angeregt durch Andreas Notify-Send versuch ich nun Anrufe über ISDNlog
>am Server übers Netzwerk auf die Desktops zu schicken.
>
>Auf dem Server mache ich:
>tail -n 0 -f /var/log/isdn/isdnlog | netcat desktop-pc 8899
>
>Auf dem Desktop:
>netcat -l -p 8899 | grep "RING" | while read OUTPUT; do notify-send
>"$OUTPUT"; done
>
>oder:
>
>netcat -l -p 8899 | grep "RING" |xargs -0 notify-send "Telefon"
>
>
>Aber notify-send fehlt irgendwie ein EOF oder so.

Ein EOF?  Welche Daten bekommt notify-send zum Lesen angeboten?

Die beiden Varianten des Desktop‐Kommandos sind nicht gleichbedeutend
für notify-send.  Auf welches Desktop‐Kommando bezieht sich folgende
Beobachtung?

>Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.

Was sieht man auf dem Desktop im Terminal, wenn man dort das Kommando

$ netcat -l -p 8899 | grep "RING"

laufen lässt?  Wann sieht man es?

[toc] | [prev] | [next] | [standalone]


#77938

FromTim Ritberg <tim@server.invalid>
Date2015-09-05 14:40 +0200
Message-ID<msens3$83m$1@tota-refugium.de>
In reply to#77935
Am 05.09.2015 um 04:09 schrieb Helmut Waitzmann:
> 
> Ein EOF?  Welche Daten bekommt notify-send zum Lesen angeboten?
Die Daten, die Netcat vom Server schickt; purer Text,

> 
> Die beiden Varianten des Desktop‐Kommandos sind nicht gleichbedeutend
> für notify-send.  Auf welches Desktop‐Kommando bezieht sich folgende
> Beobachtung?
Was ist ein Desktop-Kommando?

> 
>> Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.
> 
> Was sieht man auf dem Desktop im Terminal, wenn man dort das Kommando
> 
> $ netcat -l -p 8899 | grep "RING"
> 
> laufen lässt?  Wann sieht man es?
Das sieht man sofort.

Es geht ja am Server von tail direkt über netcat zum Client.

Das Problem ist, am Client soll netcat und notify-send jede Zeile
einzeln auswerten, denn jede Zeile ist ein Telefonanruf.

Tim

[toc] | [prev] | [next] | [standalone]


#78003

FromHelmut Waitzmann <nn.throttle@xoxy.net>
Date2015-09-07 01:10 +0200
Message-ID<87twr7b0us.fsf@helmutwaitzmann.news.arcor.de>
In reply to#77938
Tim Ritberg <tim@server.invalid> writes:

>Am 05.09.2015 um 04:09 schrieb Helmut Waitzmann:
>> 
>> Ein EOF?  Welche Daten bekommt notify-send zum Lesen angeboten?
>Die Daten, die Netcat vom Server schickt; purer Text,
>
>> 
>> Die beiden Varianten des Desktop‐Kommandos sind nicht gleichbedeutend
>> für notify-send.  Auf welches Desktop‐Kommando bezieht sich folgende
>> Beobachtung?
>Was ist ein Desktop-Kommando?

Das Kommando, von dem Du geschrieben hast, dass Du es auf dem Desktop
laufen lässt.

>> 
>>> Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.
>> 
>> Was sieht man auf dem Desktop im Terminal, wenn man dort das Kommando
>> 
>> $ netcat -l -p 8899 | grep "RING"
>> 
>> laufen lässt?  Wann sieht man es?
>Das sieht man sofort.
>
>Es geht ja am Server von tail direkt über netcat zum Client.

Es ist nicht ausgeschlossen, dass grep die Ausgaben nicht sofort
ausspuckt, wenn seine Ausgaben nicht auf ein Terminal, sondern in ein
Pipe gelangen.  Eine Möglichkeit wäre, grep in die while‐Schleife
hineinzunehmen:

netcat -l -p 8899 |
while read OUTPUT
do
  printf '%s\n' "$OUTPUT" | grep -e 'RING' | notify-send "$OUTPUT"
done

Nachteil dabei:  Für jede Zeile wird ein neues grep gestartet, nur,
damit es nach jeder Zeile eine EOF‐Bedingung erhält.  Eigentlich
unnötig.

Falls das grep ein gnu-grep ist, probiere den Parameter
„--line-buffered“:

netcat -l -p 8899 | grep --line-buffered -e 'RING' |
while read OUTPUT; do notify-send "$OUTPUT"; done

[toc] | [prev] | [next] | [standalone]


#78145

FromTim Ritberg <tim@server.invalid>
Date2015-09-20 13:22 +0200
Message-ID<mtm4t0$emr$1@tota-refugium.de>
In reply to#78003
Am 07.09.2015 um 01:10 schrieb Helmut Waitzmann:
> 
> Es ist nicht ausgeschlossen, dass grep die Ausgaben nicht sofort
> ausspuckt, wenn seine Ausgaben nicht auf ein Terminal, sondern in ein
> Pipe gelangen.  Eine Möglichkeit wäre, grep in die while‐Schleife
> hineinzunehmen:
> 
> netcat -l -p 8899 |
> while read OUTPUT
> do
>   printf '%s\n' "$OUTPUT" | grep -e 'RING' | notify-send "$OUTPUT"
> done
> 
> Nachteil dabei:  Für jede Zeile wird ein neues grep gestartet, nur,
> damit es nach jeder Zeile eine EOF‐Bedingung erhält.  Eigentlich
> unnötig.
> 
> Falls das grep ein gnu-grep ist, probiere den Parameter
> „--line-buffered“:
> 
> netcat -l -p 8899 | grep --line-buffered -e 'RING' |
> while read OUTPUT; do notify-send "$OUTPUT"; done
> 

Mein Aufruf am Client sieht jetzt so aus:

netcat SERVER 8899 | stdbuf -oL -eL grep RING | stdbuf -oL -eL cut -d "
" -f 3,9-16 | while read OUTPUT; do notify-send -t 0 -i
/usr/share/icons/gnome/48x48/actions/call-start.png Telefon "$OUTPUT"; done

Auf dem Server läuft xinet und ein Tail-Script.

Jetzt muss ich nur noch auf dem Client-Desktop dafür sorgen, dass mein
Script bein einloggen in X geladen wird.

Wie machen ich das am besten?

Tim

[toc] | [prev] | [next] | [standalone]


#78200

FromStefan Enzinger <mindoms@aon.at>
Date2015-09-23 10:42 +0200
Message-ID<d6f6v9F6o3cU1@mid.individual.net>
In reply to#78145
On 2015-09-20 13:22, Tim Ritberg wrote:

> Jetzt muss ich nur noch auf dem Client-Desktop dafür sorgen, dass mein
> Script bein einloggen in X geladen wird.
> 
> Wie machen ich das am besten?

In xubuntu mit xfce kann ich das mit dem GUI Programm:
Applications -> Settings -> Session and Startup
eintragen

[toc] | [prev] | [next] | [standalone]


#77974

FromRichard Maurer <usenetrm.nospam@gmx.at>
Date2015-09-06 06:22 +0200
Message-ID<jlrsbc-4f1.ln1@maurer.no-ip.biz>
In reply to#77934

Am 04.09.2015 um 20:52 schrieb Tim Ritberg:
> Hi!
>
> Angeregt durch Andreas Notify-Send versuch ich nun Anrufe über ISDNlog
> am Server übers Netzwerk auf die Desktops zu schicken.
>
> Auf dem Server mache ich:
> tail -n 0 -f /var/log/isdn/isdnlog | netcat desktop-pc 8899
>
> Auf dem Desktop:
> netcat -l -p 8899 | grep "RING" | while read OUTPUT; do notify-send
> "$OUTPUT"; done
>
> oder:
>
> netcat -l -p 8899 | grep "RING" |xargs -0 notify-send "Telefon"
>
>
> Aber notify-send fehlt irgendwie ein EOF oder so.
> Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.
>
> Hat jemand eine Lösung?



Es ist möglich in der bash ein EOF einzugeben... falls es wirklich fehlt.

http://stackoverflow.com/questions/2500436/how-does-cat-eof-work-in-bash

[Beispiel]
$ cat <<EOF | grep 'b' | tee b.txt | grep 'r'
foo
bar
baz
EOF
[/Beispiel]


mit freundlichen Grüßen
Richard Maurer
-- 
"Denke nie gedacht zu haben, denn das Denken der Gedanken ist 
gedankenloses Denken! Denke nie, denn wenn du denkst du denkst, dann 
denkst du nur du denkst, gedacht doch hast du nie!"

[toc] | [prev] | [next] | [standalone]


#77979

FromStefan Enzinger <mindoms@aon.at>
Date2015-09-06 09:48 +0200
Message-ID<d529dhFufk2U1@mid.individual.net>
In reply to#77934
On 2015-09-04 20:52, Tim Ritberg wrote:

> Auf dem Server mache ich:
> tail -n 0 -f /var/log/isdn/isdnlog | netcat desktop-pc 8899
> 
> Auf dem Desktop:
> netcat -l -p 8899 | grep "RING" | while read OUTPUT; do notify-send
> "$OUTPUT"; done
> 
> 
> Aber notify-send fehlt irgendwie ein EOF oder so.
> Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.

Ich habe das kurz bei mir etwas nachgestellt und meine es liegt am grep.
Dieses buffert wohl.
Hab sowas im Internet gefunden, bei mir half es:

netcat -l -p 8899 | stdbuf -oL -eL grep RING | while read OUTPUT; do
notify-send "$OUTPUT"; done

(vorsicht, Zeilenumbruch)

[toc] | [prev] | [next] | [standalone]


#77996

FromTim Ritberg <tim@server.invalid>
Date2015-09-06 22:04 +0200
Message-ID<msi68s$sbn$1@tota-refugium.de>
In reply to#77979
Am 06.09.2015 um 09:48 schrieb Stefan Enzinger:
> 
> Ich habe das kurz bei mir etwas nachgestellt und meine es liegt am grep.
> Dieses buffert wohl.
> Hab sowas im Internet gefunden, bei mir half es:
> 
> netcat -l -p 8899 | stdbuf -oL -eL grep RING | while read OUTPUT; do
> notify-send "$OUTPUT"; done
> 
> (vorsicht, Zeilenumbruch)

Prima, funzt!

Ich habe jetzt Server und Client die Rollen tauschen lassen. Ich wusste
nicht, dass Listen Server auch via Pipe Daten nehmen.


Tim

[toc] | [prev] | [next] | [standalone]


#77983

FromOttmar Cartellieri <o.cartellieri@online.de>
Date2015-09-06 10:26 +0200
Message-ID<20150906102656.0a414538@Jim>
In reply to#77934
2015-09-04, 20:52(UTC+0200); Tim Ritberg <tim@server.invalid>:

> Hi!
> 
> Angeregt durch Andreas Notify-Send versuch ich nun Anrufe über ISDNlog
> am Server übers Netzwerk auf die Desktops zu schicken.
> 
> Auf dem Server mache ich:
> tail -n 0 -f /var/log/isdn/isdnlog | netcat desktop-pc 8899
> 
> Auf dem Desktop:
> netcat -l -p 8899 | grep "RING" | while read OUTPUT; do notify-send
> "$OUTPUT"; done
> 
> oder:
> 
> netcat -l -p 8899 | grep "RING" |xargs -0 notify-send "Telefon"
> 
> 
> Aber notify-send fehlt irgendwie ein EOF oder so.

Wohl eher ein EOL

> Erst wenn ich am Server netcat stoppe, kommt auf dem Client der Text.
> 
> Hat jemand eine Lösung?
> 

Suchst Du vielleicht 'stdbuf'?

[toc] | [prev] | [next] | [standalone]


#79435

FromTim Ritberg <tim@server.invalid>
Date2015-11-20 12:31 +0100
Message-ID<n2n0b7$g06$1@tota-refugium.de>
In reply to#77983
Am 06.09.2015 um 10:26 schrieb Ottmar Cartellieri:
> 
> Suchst Du vielleicht 'stdbuf'?
ja.


Das Script funktioniert jetzt gut.
Serverseitig läuft xinet und auf dem Client ein Script. Jetzt will ich
aber ein Notebook als Client nutzen. Da frage ich mich, wie ich mit
Standby umgehen soll. Die Netzwerkverbindung wird dann ja unterbrochen.

Man könnte den Client in einer Endlosschleife laufen lassen. Kommt mir
aber nicht so elegant vor.

Tim

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.os.unix.linux.misc


csiph-web