Little bash programming

Kevin Brown plug-discuss@lists.plug.phoenix.az.us
Tue, 09 Jul 2002 21:38:16 -0700


Came home tonite and got onto my Workstation and noticed that my IceWM session
from the server was gone.  Sometimes it disappears because the two boxes lose
contact with each other.  So I logged into the box and exported the DISPLAY
varaiable and restarted IceWM.  Then it occured to me that I could make this
much easier for myself.

Played around with ps, grep, and awk and got something that would find the users
who have icewm running.  X is never run directly on the box because the only
time I sit at it is if it goes down.  So, I decided to muck with my
.bash_profile and see if I could auto fire off icewm from me just logging in. 
Short story made shorter, yep.  Only a little basic thing, but since I rarely do
any coding (shell or otherwise) I think it was pretty good.  Great thing is, it
will only fire up icewm if I don't already have a copy up.

username=`ps -ef | grep <username>.*[0-9].icewm | awk '{print $1}'`

if [ ! Xhellgate = X$username ]
then
        echo "IceWM not running on your display"
        export DISPLAY=<my ip>:0.0
        icewm &
fi

Guess I can later try and add some more sanity checking, but this works for now
:)