Thank you Olivier :) On Thu, 2008-01-31 at 20:12 +0100, Olivier Robert wrote: > Hi, > > 1. "How can I determine what the user responds, is there errorlevels > or anything like that?" > > You can check for the exit status of the xmessage command > > 2. "What is the reason for doing ' > /dev/null 2>&1'" > > It redirects any standard out and standard error to oblivion > > Let's say you have a vnc session on port 5902. You want a script that > checks if there's a session and display a message to the user. And you > want to know if the user read the message. Here's what you could do. > (you'll have to adapt and add a loop in there if you have several vnc > sessions) > > Edit the linux user's ~/.vnc/xstartup and add an "xhost +" in it. > Otherwise you will not be able to display the message. > > Use a script similar to this one: (of course, you will adapt and > enhance) > > #!/usr/bin/env bash > > netstat -tape | grep ESTABLISHED | grep Xvnc | awk '{print $4}' | awk > -F ":" '{print $2}' > log-ports > > for user in `cat log-ports` > do > case $user in > 5902) > export DISPLAY=:2.0; xmessage -buttons "I > understand":10 -center -timeout 60 -file testmsg > /dev/null 2>&1 > [ $? -eq 10 ] \ > && echo "$user acknowledged!" \ > || echo "No answer from $user!" > ;; > esac > > done > > The user connected to 5902 will get a windowed message with a "I > understand" button. If he clicks on it, you'll know. If he doesn't, > it'll time out after 60 seconds and return an exit status of 0 (zero): > you'll know too . > > Hope it helps, > Olivier > Thank you very much, I learned so much from your answer so that I will be busy programming scripts for a long time. Henning Larsen