Home | History | Annotate | Download | only in ext-sources
      1 #!/bin/ksh -p
      2 
      3 usage () {
      4     echo "$0 [options]"
      5     echo "   -h, --help     Display this help"
      6     echo "   -a display     Add a new Sun Ray display"
      7     echo "   -d display     Delete a Sun Ray display"
      8     echo "   -l             List all Sun Ray displays"
      9     exit 1
     10 }
     11 
     12 AWK="/usr/gnu/bin/awk"
     13 SED="/usr/gnu/bin/sed"
     14 SEAT_TOOL="/usr/sbin/ck-seat-tool"
     15 LIST_TOOL="/usr/bin/ck-list-sessions"
     16 HIST_TOOL="/usr/bin/ck-history"
     17 
     18 optype=""
     19 oparg=""
     20 
     21 for i in "$@"
     22 do
     23   if [ ! "x$optype" = "x" ]; then
     24     oparg=$i
     25     break
     26   fi
     27   if [ "x$i" = "x-h" -o "x$i" = "x--help" ]; then
     28     break
     29   fi
     30   if [ "x$i" = "x-a" ]; then
     31     optype="add"
     32     continue
     33   fi
     34   if [ "x$i" = "x-d" ]; then
     35     optype="delete"
     36     continue
     37   fi
     38   if [ "x$i" = "x-l" ]; then
     39     optype="list"
     40     break
     41   fi
     42 done
     43 
     44 case $optype in
     45   add)
     46 # gdmdynamic -a 10=/usr/X11/bin/Xorg
     47     oparg=`echo $oparg | awk -F\= '{print $1}'`
     48     seatid=`$HIST_TOOL --last | $AWK -v disp=":$oparg" '{if ($6 == disp) print $N0}' | head -1 | $AWK '{print $4}'`
     49     if [ "x$seatid" = x ]; then
     50       $SEAT_TOOL -a --display-type=Sunray display=:$oparg
     51     else
     52       $SEAT_TOOL -a --display-type=Sunray --seat-id=$seatid display=:$oparg
     53     fi
     54     ;;
     55   delete)
     56 # gdmdynamic -d 10
     57     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}'`
     58     if [ ! "x$ssid" = "x" ]; then
     59       $SEAT_TOOL -d --session-id=$ssid
     60     fi
     61     ;;
     62   list)
     63 # gdmdynamic -l
     64     sessions=`$LIST_TOOL -f session-id,x11-display,display-type | grep Sunray | $AWK '{print $2}' | $SED -e s/\'//g`
     65     dyps=""
     66     for i in $sessions
     67     do
     68       if [ ! "x$i" = "x" ]; then
     69          dyps="$i;$dyps"
     70       fi
     71     done
     72     echo $dyps
     73     ;;
     74   * )
     75     usage
     76     ;;
     77 esac
     78