gdmdynamic revision 20777
363N/A#!/bin/ksh -p
363N/A
363N/Ausage () {
363N/A echo "$0 [options]"
363N/A echo " -h, --help Display this help"
363N/A echo " -a display Add a new Sun Ray display"
363N/A echo " -d display Delete a Sun Ray display"
363N/A echo " -l List all Sun Ray displays"
363N/A exit 1
363N/A}
363N/A
363N/AAWK="/usr/gnu/bin/awk"
363N/ASED="/usr/gnu/bin/sed"
363N/ASEAT_TOOL="/usr/sbin/ck-seat-tool"
363N/ALIST_TOOL="/usr/bin/ck-list-sessions"
363N/AHIST_TOOL="/usr/bin/ck-history"
363N/A
363N/Aoptype=""
363N/Aoparg=""
363N/A
1610N/Afor i in "$@"
363N/Ado
363N/A if [ ! "x$optype" = "x" ]; then
1610N/A oparg=$i
363N/A break
363N/A fi
363N/A if [ "x$i" = "x-h" -o "x$i" = "x--help" ]; then
777N/A break
777N/A fi
363N/A if [ "x$i" = "x-a" ]; then
777N/A optype="add"
777N/A continue
797N/A fi
363N/A if [ "x$i" = "x-d" ]; then
797N/A optype="delete"
363N/A continue
1610N/A fi
1610N/A if [ "x$i" = "x-l" ]; then
1610N/A optype="list"
1610N/A break
1610N/A fi
1610N/Adone
1610N/A
1610N/Acase $optype in
1610N/A add)
1610N/A# gdmdynamic -a 10=/usr/X11/bin/Xorg
1610N/A oparg=`echo $oparg | awk -F\= '{print $1}'`
1610N/A seatid=`$HIST_TOOL --last | $AWK -v disp=":$oparg" '{if ($6 == disp) print $N0}' | head -1 | $AWK '{print $4}'`
1610N/A if [ "x$seatid" = x ]; then
1610N/A seatid="SunraySeat$oparg"
1610N/A fi
1610N/A $SEAT_TOOL -a --display-type=Sunray --seat-id=$seatid display=:$oparg
1610N/A ;;
1610N/A delete)
363N/A# gdmdynamic -d 10
363N/A ssid=`$LIST_TOOL -f session-id,x11-display,display-type | grep Sunray | $SED -e s/\'//g | $AWK -v disp=:$oparg '{if ($2 == disp) print $1}'`
363N/A if [ ! "x$ssid" = "x" ]; then
363N/A $SEAT_TOOL -d --session-id=$ssid
363N/A fi
363N/A ;;
363N/A list)
363N/A# gdmdynamic -l
363N/A sessions=`$LIST_TOOL -f session-id,x11-display,display-type | grep Sunray | $AWK '{print $2}' | $SED -e s/\'//g`
363N/A dyps=""
363N/A for i in $sessions
363N/A do
363N/A if [ ! "x$i" = "x" ]; then
363N/A dyps="$i,,;$dyps"
363N/A fi
363N/A done
363N/A echo $dyps
363N/A ;;
363N/A * )
363N/A usage
363N/A ;;
363N/Aesac
363N/A