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/defaultwm | 70 ++++++++++++++++++++++++++++++----------------- vmware/desktop.template | 9 ++++++ vmware/kursimages | 70 ++++++++++++++++++++++++++++++++--------------- vmware/kursimages.desktop | 8 ++++++ vmware/runvmware | 63 ++++++++++++++++++++++++++++-------------- 5 files changed, 152 insertions(+), 68 deletions(-) create mode 100644 vmware/desktop.template create mode 100644 vmware/kursimages.desktop (limited to 'vmware') diff --git a/vmware/defaultwm b/vmware/defaultwm index d8834ef2..9ee81c3b 100755 --- a/vmware/defaultwm +++ b/vmware/defaultwm @@ -2,16 +2,17 @@ # # 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 @@ -24,6 +25,12 @@ 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 () { xsessions="/usr/share/xsessions" @@ -31,7 +38,9 @@ x_dialog () { tmpdir="/tmp" menu= execute= - + slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z]) + slxgrptest= + xdesktopsnr=( `ls ${xsessions}/*.desktop | grep -v "default.*" \ | wc -l 2>/dev/null` ) @@ -39,11 +48,10 @@ x_dialog () { | sort -bf 2>/dev/null; \ ls ${vmsessions}/*.desktop | sort -bf 2>/dev/null` ) desktopsnr=$(echo "${#desktops[*]}") - - (( args=0 )) declare -i i=0 + while [ "${xdesktopsnr}" -gt "${args}" ]; do # exec in .desktop execute[${i}]=$(grep -m 1 -i "exec" ${desktops[${args}]} \ @@ -71,30 +79,41 @@ ${execute[${i}]:-"No comment"}" 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}]="| VMware Image | + # 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 + 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 --rc-file /var/lib/openslx/themes/Xdialog/gtkrc \ @@ -114,6 +133,7 @@ ${execute[${i}]:-"No comment"}" rm -f ${tmpdir}/Xdialog } + args_dial=$(x_dialog 2>&1) # 2>&1, see function exec ${args_dial} diff --git a/vmware/desktop.template b/vmware/desktop.template new file mode 100644 index 00000000..80c3c2ac --- /dev/null +++ b/vmware/desktop.template @@ -0,0 +1,9 @@ +[Desktop Entry] +X-SuSE-translate=true +Encoding=UTF-8 +Type=XSession +Exec= +TryExec= +Name= +Comment= +SLXGrp=default 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 \ diff --git a/vmware/kursimages.desktop b/vmware/kursimages.desktop new file mode 100644 index 00000000..5e8d2838 --- /dev/null +++ b/vmware/kursimages.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +X-SuSE-translate=true +Encoding=UTF-8 +Type=XSession +Exec=kursimages +TryExec=/var/X11R6/bin/kursimages +Name=Weitere Kursimages +Comment=Windows und Linux VMware Images 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