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