From ff1ca78b89fc72f0d848e938fd31cbb4742d8202 Mon Sep 17 00:00:00 2001 From: Michael Janczyk Date: Tue, 3 Oct 2006 17:09:46 +0000 Subject: now /w grouptest. checks machine-setup in which slxgrp a clinet is, and only shows images for this group. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@435 95ad53e4-c205-0410-b2fa-d234c58c8868 --- vmware/kursimages | 70 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 48 insertions(+), 22 deletions(-) (limited to 'vmware/kursimages') diff --git a/vmware/kursimages b/vmware/kursimages index a16b530b..64ad60e8 100755 --- a/vmware/kursimages +++ b/vmware/kursimages @@ -2,15 +2,18 @@ # # Description: Session chooser for kdm/gdm # -# Author(s): Michael Janczyk , 12-09-2006 +# Author(s): Michael Janczyk , 03-10-2006 # # Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg # -# Version: 0.1.372 +# Version: 0.2.435 # ################################################################################ +# read from machine-setup (for slxgrp) +. /etc/machine-setup + # set X background res=$(xvidtune -show | grep -wo "\".*\"" | sed "s/\"//g") @@ -22,42 +25,65 @@ else fi +# Xdailog test +xdialog=$(which Xdialog) +[ -z "${xdialog}" ] && xterm -e 'echo -e "\n\n\n\n\n\n\t\t\tNo Xdialog installed!!!\ + \n\n\t\t\tClosing in 3 seconds."; sleep 3' && exit 1 + + x_dialog () { vmsessions="/var/lib/vmware/vmsessions" tmpdir="/tmp" menu= execute= - + slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z]) + slxgrptest= + + desktops=( `ls ${vmsessions}/*.desktop 2>/dev/null` ) desktopsnr=$(echo "${#desktops[*]}") (( args=0 )) declare -i i=0 + while [ "${desktopsnr}" -gt "${args}" ]; do - # exec in .desktop - execute[${i}]=$(grep -m 1 -i "exec" ${desktops[${args}]} \ - | awk -F "=" '{print $2}') - menu="$menu \"\${execute[${i}]}\"" - i=${i}+1 - - # name in .desktop - execute[${i}]=$(grep -m 1 -i "name" ${desktops[${args}]} \ - | awk -F "=" '{print $2}') - execute[${i}]=${execute[${i}]:-`echo ${execute[${i}-1]} | sed -e "s,-, ,g"`} - menu="$menu \"\${execute[${i}]}\"" - i=${i}+1 - - # comment in .desktop - execute[${i}]=$(grep -m 1 -i "comment" ${desktops[${args}]} \ - | awk -F "=" '{print $2}') - execute[${i}]=${execute[${i}]:-"No comment"} - menu="$menu \"\${execute[${i}]}\"" - i=${i}+1 + + # check for slxgrp + slxgrptest=$(grep -m 1 -i "slxgrp" ${desktops[${args}]} \ + | awk -F "=" '{print $2}' | tr [A-Z] [a-z]) + if [ -z "${slxgrp}" -o "${slxgrp}" = "${slxgrptest}" -o "${slxgrp}" = "default" ]; \ + then + + # exec in .desktop + execute[${i}]=$(grep -m 1 -i "exec" ${desktops[${args}]} \ + | awk -F "=" '{print $2}') + menu="$menu \"\${execute[${i}]}\"" + i=${i}+1 + + # name in .desktop + execute[${i}]=$(grep -m 1 -i "name" ${desktops[${args}]} \ + | awk -F "=" '{print $2}') + execute[${i}]=${execute[${i}]:-`echo ${execute[${i}-1]} | sed -e "s,-, ,g"`} + menu="$menu \"\${execute[${i}]}\"" + i=${i}+1 + + # comment in .desktop + execute[${i}]=$(grep -m 1 -i "comment" ${desktops[${args}]} \ + | awk -F "=" '{print $2}') + execute[${i}]="| VMware Image | +${execute[${i}]:-"No comment"}" + menu="$menu \"\${execute[${i}]}\"" + i=${i}+1 + + fi (( args=${args}+1 )) done + # test if mwnu not empty? + [ -z "${menu}" ] && Xdialog --infobox "No items found to display!!!" 10 30 3000 && exit 1 + # --stderr because of 1>/dev/null # echoing to file because Xdialog sux when used w/ quotes echo -e "Xdialog --rc-file /var/lib/openslx/themes/Xdialog/gtkrc \ -- cgit v1.2.3-55-g7522