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/runvmware | 63 +++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 21 deletions(-) (limited to 'vmware/runvmware') diff --git a/vmware/runvmware b/vmware/runvmware index c6b5d7f7..0f954b53 100755 --- a/vmware/runvmware +++ b/vmware/runvmware @@ -4,15 +4,19 @@ # X Stations (v4) # # Author(s): Dirk von Suchodoletz , 18-03-2006 -# Michael Janczyk , 23-08-2006 +# Michael Janczyk , 03-10-2006 # Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg # -# Version: 0.14.324 +# Version: 0.15.435 # ################################################################################ +# read from machine-setup (for slxgrp) +. /etc/machine-setup + + ### VERBOSE? ################################################################### # set verbose mode (set -x(v)) @@ -345,33 +349,47 @@ checkalias () { x_dialog () { desktops=( `ls ${vmsessions}/*.desktop 2>/dev/null` ) desktopsnr=$(echo "${#desktops[*]}") + slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z]) + slxgrptest= (( 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}]=${execute[${i}]:-"No comment"} + menu="$menu \"\${execute[${i}]}\"" + i=${i}+1 + + fi (( args=${args}+1 )) done + # test if menu 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 --title \"VMware Image Menu\" \ @@ -694,6 +712,9 @@ if [ -n "${inter}" ]; then writelog "\rXdialog not found! " 0 99 writelog "Please install Xdialog for interactive mode, \c" 0 0 writelog "or use option -s.\n" 0 0 + # for non-console starts + 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 fi -- cgit v1.2.3-55-g7522