summaryrefslogtreecommitdiffstats
path: root/vmware
diff options
context:
space:
mode:
authorMichael Janczyk2006-10-03 19:09:46 +0200
committerMichael Janczyk2006-10-03 19:09:46 +0200
commitff1ca78b89fc72f0d848e938fd31cbb4742d8202 (patch)
tree759e3d3fcbd2a5d7c25a4187257bdf046bc2a4c2 /vmware
parent* added OpenSLX-header to all my files. (diff)
downloadcore-ff1ca78b89fc72f0d848e938fd31cbb4742d8202.tar.gz
core-ff1ca78b89fc72f0d848e938fd31cbb4742d8202.tar.xz
core-ff1ca78b89fc72f0d848e938fd31cbb4742d8202.zip
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
Diffstat (limited to 'vmware')
-rwxr-xr-xvmware/defaultwm70
-rw-r--r--vmware/desktop.template9
-rwxr-xr-xvmware/kursimages70
-rw-r--r--vmware/kursimages.desktop8
-rwxr-xr-xvmware/runvmware63
5 files changed, 152 insertions, 68 deletions
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 <mj0@uni-freiburg.de>, 12-09-2006
+# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 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 <mj0@uni-freiburg.de>, 12-09-2006
+# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 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 <dirk@goe.net>, 18-03-2006
-# Michael Janczyk <mj0@uni-freiburg.de>, 23-08-2006
+# Michael Janczyk <mj0@uni-freiburg.de>, 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