summaryrefslogtreecommitdiffstats
path: root/vmware
diff options
context:
space:
mode:
authorMichael Janczyk2006-10-27 20:08:54 +0200
committerMichael Janczyk2006-10-27 20:08:54 +0200
commit1e471825b405ecc0ae15c643a17794a77187fd75 (patch)
treed0937712f8949dafa9fa8c37605ec81dbdf9630c /vmware
parentbug removed. 2>/dev/null moved before pipe. (diff)
downloadcore-1e471825b405ecc0ae15c643a17794a77187fd75.tar.gz
core-1e471825b405ecc0ae15c643a17794a77187fd75.tar.xz
core-1e471825b405ecc0ae15c643a17794a77187fd75.zip
changed default session chooser and vmware image chooser.
defaultwm and kursimages were replaced through runvmware --xdm all and --xdm vm there is an improved error handling in runvmware, aswell. servconfig changed due to this modifications. git-svn-id: http://svn.openslx.org/svn/openslx/trunk@473 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'vmware')
-rwxr-xr-xvmware/defaultwm140
-rw-r--r--vmware/desktop.template9
-rwxr-xr-xvmware/kursimages112
-rwxr-xr-xvmware/runvmware211
-rw-r--r--vmware/template.desktop18
-rw-r--r--vmware/vmimages.desktop13
6 files changed, 145 insertions, 358 deletions
diff --git a/vmware/defaultwm b/vmware/defaultwm
deleted file mode 100755
index a8d00eb5..00000000
--- a/vmware/defaultwm
+++ /dev/null
@@ -1,140 +0,0 @@
-#!/bin/sh
-#
-# Description: Session chooser for kdm/gdm
-#
-# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 25-10-2006
-#
-# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
-#
-# Version: 0.2.472
-#
-################################################################################
-
-
-# read from machine-setup (for slxgrp)
-. /etc/machine-setup
-
-
-# set X background
-res=$(xvidtune -show | grep -wo "\".*\"" | sed "s/\"//g")
-if ! [ -f /var/lib/openslx/themes/bootsplash/images/silent-${res}.jpg ]; then
- img=$(ls /var/lib/openslx/themes/bootsplash/images/ | grep -m 1 "silent")
- display -window root /var/lib/openslx/themes/bootsplash/images/${img}
-else
- display -window root /var/lib/openslx/themes/bootsplash/images/silent-${res}.jpg
-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"
- vmsessions="/var/lib/vmware/vmsessions"
- tmpdir="/tmp"
- menu=
- execute=
- slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z])
- slxgrptest=
-
-
- xdesktopsnr=( `ls ${xsessions}/*.desktop 2>/dev/null | grep -v "default.*" \
- | wc -l 2` )
- desktops=( `ls ${xsessions}/*.desktop 2>/dev/null | grep -v "default.*" \
- | sort -bf; \
- ls ${vmsessions}/*.desktop 2>/dev/null | sort -bf` )
- 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}]} \
- | 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}]="| Desktop Environment |
-${execute[${i}]:-"No comment"}"
- menu="$menu \"\${execute[${i}]}\""
- i=${i}+1
-
- (( args=${args}+1 ))
- done
-
-
- while [ "${desktopsnr}" -gt "${args}" ]; do
- # 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 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 \
- --title \"Desktop / VMware-Image Menu\" \
- --screen-center \
- --fill \
- --no-wrap \
- --stderr \
- --no-tags \
- --ok-label \"START\" \
- --item-help \
- --menubox \"Which desktop or VMware-image to start?\" 35 80 0 \
- $menu 1>/dev/null" \
- > ${tmpdir}/Xdialog
-
- . ${tmpdir}/Xdialog
- rm -f ${tmpdir}/Xdialog
-}
-
-
-args_dial=$(x_dialog 2>&1) # 2>&1, see function
-exec ${args_dial}
-
-exit 0
diff --git a/vmware/desktop.template b/vmware/desktop.template
deleted file mode 100644
index 80c3c2ac..00000000
--- a/vmware/desktop.template
+++ /dev/null
@@ -1,9 +0,0 @@
-[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
deleted file mode 100755
index 64ad60e8..00000000
--- a/vmware/kursimages
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/sh
-#
-# Description: Session chooser for kdm/gdm
-#
-# Author(s): Michael Janczyk <mj0@uni-freiburg.de>, 03-10-2006
-#
-# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
-#
-# Version: 0.2.435
-#
-################################################################################
-
-
-# read from machine-setup (for slxgrp)
-. /etc/machine-setup
-
-
-# set X background
-res=$(xvidtune -show | grep -wo "\".*\"" | sed "s/\"//g")
-if ! [ -f /var/lib/openslx/themes/bootsplash/images/silent-${res}.jpg ]; then
- img=$(ls /var/lib/openslx/themes/bootsplash/images/ | grep -m 1 "silent")
- display -window root /var/lib/openslx/themes/bootsplash/images/${img}
-else
- display -window root /var/lib/openslx/themes/bootsplash/images/silent-${res}.jpg
-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
-
- # 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 \
- --title \"VMware Image Menu\" \
- --screen-center \
- --fill \
- --no-wrap \
- --stderr \
- --no-tags \
- --ok-label \"START\" \
- --item-help \
- --menubox \"Please choose the image you would like to run:\" 35 80 0 \
- $menu 1>/dev/null" \
- > ${tmpdir}/Xdialog
-
-. ${tmpdir}/Xdialog
-rm -f ${tmpdir}/Xdialog
-
-}
-
-
-args_dial=$(x_dialog 2>&1) # 2>&1, see function
-exec ${args_dial}
-
-exit 0
-
diff --git a/vmware/runvmware b/vmware/runvmware
index 14915ffc..fd380955 100755
--- a/vmware/runvmware
+++ b/vmware/runvmware
@@ -1,33 +1,30 @@
#!/bin/sh
#
# Description: Script for preparing VMware environment Diskless
-# X Stations (v4)
+# X Stations and interactive session chooser (v4)
#
# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 18-03-2006
-# Michael Janczyk <mj0@uni-freiburg.de>, 03-10-2006
+# Michael Janczyk <mj0@uni-freiburg.de>, 27-10-2006
# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
#
-# Version: 0.15.435
+# Version: 0.16.473
#
################################################################################
-
-# read from machine-setup (for slxgrp)
+### read from machine-setup (for slxgrp) #######################################
. /etc/machine-setup
-
### VERBOSE? ###################################################################
# set verbose mode (set -x(v))
#set -xv
-
-
### HEADER SECTION #############################################################
# write runvmware.conf
-runvmwareconfheader () {
+runvmwareconfheader ()
+{
echo "
##############################################################################
###### This configuration file was generated by 'runvmware', ######
@@ -133,18 +130,18 @@ runvmwareconfheader () {
}
-preferencesheader () {
+preferencesheader ()
+{
echo "
##############################################################################
###### This configuration file was generated by 'runvmware', ######
###### dont use it for your own configurations - it will be overwritten ######
###### ######
-
-################# wichtig #################
-# das *.vmem wird immer angelegt und frisst soviel Speicher, wie fuer den Gast
-# vorgesehen. Sollte nicht im tempfs liegen. NFS OK, da IO nur einmal beim
-# Start erheblich. Wird gesteuert ueber tmpDirectory = /nfs-viel-platz
-# und darin wird dann vmware-$user angelegt.
+ ################################## Wichtig! ##################################
+ ###### *.vmem wird immer angelegt und frisst soviel Speicher, wie fuer ######
+ ###### den Gast vorgesehen. Sollte nicht im tempfs liegen. NFS OK, da ######
+ ###### IO nur einmal beim Start erheblich. Wird gesteuert ueber ######
+ ###### tmpDirectory = /nfs-viel-platz und darin wird dann vmware-\$user ###### ###### angelegt. ######
hints.hideAll = \"TRUE\"
pref.exchangeSelections = \"TRUE\"
@@ -168,15 +165,8 @@ preferencesheader () {
}
-
-
### VARIABLES SECTION ##########################################################
-
# declaration of default variables
-
-# first read variables from machine-setup
-. /etc/machine-setup
-
# script variables
last_changes=$(head -n 15 $0 | grep "@" | awk -F ", " '{print $2}' \
| awk -F "-" '{print $3" "$2" "$1}' | sort -bfnr \
@@ -212,7 +202,6 @@ guestres=
g_xres=
g_yres=
-
# VMware variables
# VMware build
vmbuild=$(vmware -v | awk -F "-" '{print $2}')
@@ -225,9 +214,14 @@ vmdir="/var/lib/vmware"
# templates dir
vmtempl="${vmdir}/templ"
# .desktop files directory
+xsessions="/usr/share/xsessions"
vmsessions="${vmdir}/vmsessions"
-desktops=
-desktopsnr=
+themesdir="/var/lib/openslx/themes"
+desktops=( `ls ${vmsessions}/*.desktop 2>/dev/null` )
+desktopsnr=$(echo "${#desktops[*]}")
+dialogtitle='--title "VMware Image Menu"'
+slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z])
+slxgrptest=
execute=()
menu=
# special Variables
@@ -250,7 +244,6 @@ displayname="Diskless X Station VMware Image"
# image checking variable
filecheck=
-
# command line variables
# start with this this default commmand line options + extra
defaults=$(grep -v "#.*" ${vmtempl}/defaults)
@@ -261,17 +254,16 @@ nofclopt=$(expr $# + $(echo ${defaults} | wc -w))
silent=
include=
debug=0
-inter=
+istart=
+xdm=
comdef=
-
-
### FUNCTIONS SECTION ##########################################################
-
# function to write to stdout/logfile
# logs labeled with $2=0 write to stdout, if debug set, write to logfile
-writelog () {
+writelog ()
+{
# write to stdout
[ -z ${silent} ] && [ "$2" = "0" ] && echo -e "$1"
@@ -287,17 +279,20 @@ writelog () {
}
-help () {
+help ()
+{
cat <<EOH
USAGE: $0 [--options]
Image options:
-i|--interactive interactive mode with image selection
- -s|--start <image-name> start image /\${vmdir}/<image-name>.vmdk
+ --xdm <all|vm> all lists xdm sessions and VMware images,
+ vm lists only VMware images, use only w/ xdm
+ -s|--start <image-name> start image /\${vmdir}/<image-name>.vmdk
-a|--alias use aliases
--silent no stdout from runvmware
- --mem <n(M(h)),n(G(h))> override autoallocation of memory, in percent
+ --mem <n(M(h))|n(G(h))> override autoallocation of memory, in percent
m,M megabyte, g,G gigabyte, h,H reserve f. host
--res <X_intxY_int> Maximum resolution of the guest os, e.g. 800x600
--delay <n seconds> delay the start of the script n seconds
@@ -332,7 +327,8 @@ EOH
}
-checkalias () {
+checkalias ()
+{
if [ -r "${vmtempl}/alias" ]; then
writelog "Checking alias for ${startvm}...\c" 0 1
@@ -352,11 +348,39 @@ checkalias () {
}
-x_dialog () {
- desktops=( `ls ${vmsessions}/*.desktop 2>/dev/null` )
- desktopsnr=$(echo "${#desktops[*]}")
- slxgrp=$(echo ${slxgrp} | tr [A-Z] [a-z])
- slxgrptest=
+xdm_mode ()
+{
+ # 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
+
+ # set X background
+ res=$(xvidtune -show | grep -wo "\".*\"" | sed "s/\"//g")
+ if ! [ -f ${themesdir}/bootsplash/images/silent-${res}.jpg ]; then
+ img=$(ls ${themesdir}/bootsplash/images/ | grep -m 1 "silent")
+ display -window root ${themesdir}/bootsplash/images/${img}
+ else
+ display -window root ${themesdir}/bootsplash/images/silent-${res}.jpg
+ fi
+
+ dialogtitle='--rc-file ${themesdir}/Xdialog/gtkrc \
+ --title "VMware Image Menu"'
+
+ if [ "${xdm}" = "all" ]; then
+ desktops=( `ls ${xsessions}/*.desktop 2>/dev/null \
+ | grep -v "default.*" | sort -bf; \
+ ls ${vmsessions}/*.desktop 2>/dev/null | sort -bf` )
+ desktopsnr=$(echo "${#desktops[*]}")
+ dialogtitle='--rc-file ${themesdir}/Xdialog/gtkrc \
+ --title "Desktop / VMware-Image Menu"'
+ fi
+}
+
+
+x_dialog ()
+{
(( args=0 ))
declare -i i=0
@@ -392,13 +416,18 @@ x_dialog () {
(( args=${args}+1 ))
done
-
+
# test if menu not empty?
- [ -z "${menu}" ] && Xdialog --infobox "No items found to display!!!" 10 30 3000 && exit 1
+ if [ -z "${menu}" ]; then
+ Xdialog --infobox "No items found to display!!!
+ For Vmware images add .desktop files to
+ ${vmsessions}" 10 50 6000
+ exit 1
+ fi
# --stderr because of 1>/dev/null
# echoing to file because Xdialog sux when used w/ quotes
- echo -e "Xdialog --title \"VMware Image Menu\" \
+ echo -e "Xdialog ${dialogtitle} \
--screen-center \
--fill \
--no-wrap \
@@ -412,11 +441,11 @@ x_dialog () {
. ${tmpdir}/Xdialog
rm -f ${tmpdir}/Xdialog
-
}
-filecheck () {
+filecheck ()
+{
filecheck=$(LANG=us ls -lh ${diskfile} 2>&1)
writelog "Filecheck:\n${filecheck}\n" 0 1
noimage=$(echo ${filecheck} | grep -i "no such file or directory" | wc -l)
@@ -463,12 +492,9 @@ filecheck () {
writelog "Hint:\t\t\tUse nonpersistent-mode or change rights to rw\n" 0 0
exit 1
fi
-
}
-
-
#### INTERPRET COMMAND LINE OPTIONS ############################################
# print help if no clo
if [ ${nofclopt} = "0" ]; then
@@ -489,11 +515,17 @@ while [ ${nofclopt} -gt "${args}" ]; do
exit 0
;;
-i|--interactive)
- inter="TRUE"
+ istart="TRUE"
+ ;;
+ --xdm)
+ (( args=${args}+1 ))
+ xdm=${lineopts[${args}]}
+ xdmstart="TRUE"
;;
-s|--start)
(( args=${args}+1 ))
startvm=${lineopts[${args}]}
+ sstart="TRUE"
;;
-a|--alias)
alias="TRUE"
@@ -566,9 +598,37 @@ while [ ${nofclopt} -gt "${args}" ]; do
done
+### STARTING ###################################################################
+# create environment
+# remove leftover locks from former runs,
+# problems may occure if you run more then one vmware with this script
+rm -f ${tmpdir}/*LOCK >/dev/null 2>&1
+rm -f ${tmpdir}/*.${debug}.log >/dev/null 2>&1
+
+# create vmware directories
+mkdir -p ${tmpdir} >/dev/null 2>&1
+mkdir -p ${vmhome} >/dev/null 2>&1
+# NO X-server no runvmware ;)
+[ -z "$DISPLAY" ] && echo -e "\n\tStart only within a desktop!\n" && exit 1
-### STARTING ###################################################################
+# if --xdm set don't go further, only used for xdm starts
+if [ "${xdm}" = "all" -o "${xdm}" = "vm" ]; then
+ xdm_mode
+ args_dial=$(x_dialog 2>&1) # 2>&1, see function
+ exec ${args_dial}
+ exit 0
+elif [ -n "${xdmstart}" -a -z "${xdm}" ]; then
+ xterm -e 'echo -e "\n\n\n\n\n\n\t\t\tWrong --xdm option! \
+ \n\t\t\tOnly all or vm possible.\
+ \n\n\t\t\tClosing in 3 seconds."; sleep 3' && exit 1
+fi
+
+# if not interactive mode or image spezified via command line stop
+if [ -z "${istart}" -a -z "${sstart}" ]; then
+ writelog "\n\tSpecify image to start /w -s or run interactive mode -i!\n" 0 0
+ exit 1
+fi
# logo for console
if [ -z ${silent} ]; then
@@ -587,23 +647,7 @@ writelog "Starting...`echo ${np} | sed -e \"s,i.*-,,g\" \
fi
-
-
### CHECK MACHINE SETUP ########################################################
-
-# create environment
-# remove leftover locks from former runs,
-# problems may occure if you run more then one vmware with this script
-rm -f ${tmpdir}/*LOCK >/dev/null 2>&1
-rm -f ${tmpdir}/*.${debug}.log >/dev/null 2>&1
-
-
-# create vmware directories
-mkdir -p ${tmpdir} >/dev/null 2>&1
-mkdir -p ${vmhome} >/dev/null 2>&1
-
-
-
# start logging, because now we have the directories created ;)
writelog "##################################################" 1 99
writelog "#\n# File created by $0 (v.${version})\n# on `date`" 1 99
@@ -618,8 +662,6 @@ writelog "Directories:
\tTmpdir:\t\t${tmpdir}\n\tVMhome:\t\t${vmhome}\n\tTmpdir info:\
\t`mount | grep -i "/tmp "`\n" 0 1
-
-
# configuring MAC address: first four bytes are fixed (00:50:56:0D) the
# last two bytes are taken from the local network adaptor
writelog "Starting hardware / device detection...\c" 0 1
@@ -627,7 +669,6 @@ writelog "Starting hardware / device detection...\c" 0 1
mac=$(/sbin/ifconfig eth0 | grep eth0 | sed -e "s, ,,g" \
| awk -F ":" '{print $(NF-1)":"$NF}')
-
# get memory in MB
memtest=$(expr $(grep -i "memtotal" /proc/meminfo | awk '{print $2}') / 1024)
@@ -661,7 +702,6 @@ if [ "${mem}" -lt "128" ] || [ "${mem}" -gt "${memtest}" ]; then
exit 1
fi
-
# look for cdrom,dvd and floppy and add them to the vm config file
if [ -L /dev/cdrom ] ; then
cdr_1="TRUE"
@@ -671,11 +711,9 @@ if [ -L /dev/cdrom1 ] ; then
cdr_2="TRUE"
fi
-
# check for floppy controller
test ! -d /sys/block/fd0 && floppya="FALSE"
-
# guest resolution
if [ -n "${guestres}" ]; then
g_xres=$(echo "${guestres}" | awk -F "x" '{print $1}')
@@ -696,19 +734,14 @@ writelog "finished\nResults:\n\tMAC:\t\t00:50:56:0D:${mac}\n\tMem:\t\t${mem} MB
\t${floppyb}\n\tCD-ROM_1:\t${cdr_1}\n\tCD-ROM_2:\t${cdr_2}\n" 0 1
-
-
### SELECT VIRTUAL IMAGE #######################################################
-
# interactive mode
-if [ -n "${inter}" ]; then
+if [ -n "${istart}" ]; then
writelog "Starting interactive mode...\c" 0 0
- menutest=$(ls ${vmsessions} | grep -x ".*desktop" 2>/dev/null | wc -l)
-
# check for session files
- if [ "${menutest}" = "0" ]; then
- writelog "\rNo sessions found in ${vmsessions} for option -i" 0 99
+ if [ -z "${desktops}" ]; then
+ writelog "\rNo .desktop files found in ${vmsessions} for option -i" 0 99
writelog "Please use option -s and check your configuration \n" 0 0
exit 1
fi
@@ -737,11 +770,9 @@ if [ -n "${inter}" ]; then
writelog "finished.\nResult:\n\tVMimage:\t${startvm}\n" 0 1
fi
-
# aliases
[ -n "${alias}" ] && checkalias
-
# image allocation
writelog "Starting image detection...\c" 0 1
@@ -755,36 +786,28 @@ if [ -z "${comdef}" ]; then
# if ${ostype} not found use else statement
vmostype=${vmostype:-"other"}
-
fi
-
# define name for VMware window
displayname=$(grep -m 1 -i "name" \
${vmsessions}/*${startvm}.desktop | awk -F "=" '{print $2}')
# if variable not set
displayname=${displayname:-"VMware Image"}
-
writelog "finished\nResults:\n\tDiskfile:\t${diskfile}
\tVMostype:\t${vmostype}\n\tDisplayname:\t${displayname}\n" 0 1
-
# link to windows image
writelog "Linking \"ln -fs ${diskfile}
\t${tmpdir}/disk\"...\c" 0 1
ln -fs ${diskfile} ${tmpdir}/disk
writelog "finished\nResult:\n`ls -l ${tmpdir}/disk`\n" 0 1
-
# check if image exists, etc...
filecheck
-
-
### WRITE CONFIGURATION FILES ##################################################
-
# create preferences
preferencesheader
@@ -804,9 +827,7 @@ amixer -q sset PCM 28 unmute
writelog "finished\n" 0 0
-
### RUN VMWARE(-Player) ########################################################
-
# ...with the automatically written config file
if [ `which vmplayer 2>/dev/null` ] && [ -z "${vmrun}" ] \
|| [ "${vmrun}" = "vmplayer" ]; then
@@ -828,12 +849,8 @@ elif [ `which vmware 2>/dev/null` ] && [ -z "${vmrun}" ] \
else
writelog "\nNo VMware/VMPlayer found!\n" 0 99
exit 1
-
fi
-
-
-
writelog "\nBye.\n" 0 0
exit 0
################################################################################
diff --git a/vmware/template.desktop b/vmware/template.desktop
new file mode 100644
index 00000000..2909f04e
--- /dev/null
+++ b/vmware/template.desktop
@@ -0,0 +1,18 @@
+[Desktop Entry]
+X-SuSE-translate=true
+Encoding=UTF-8
+Type=XSession
+Exec=vmware-image
+TryExec=/var/X11R6/bin/vmware-image
+Name=My VMware Image
+Comment=NEW VMware Image with this and that
+SLXGrp=default
+# Dies ist ein Template wie .desktop-Dateien aussehen sollen, deren VMware-
+# Images über kdm bzw. runvmvare interactive mode gestartet werden sollen.
+# Diese dateien müssen in .../vmware/vmsessions liegen.
+# VMware Images die auch unter kdm angezeigt werden sollen müssen nach
+# .../vmsessions/kdm kopiert werden. Falls nicht alle Images unter .../kdm
+# landen, können alle images noch über die vmimages.desktop-Datei angezeigt
+# werden.
+# Der KDM Menüpunkt heißt wie unter NAme= definiert und startet Xdialog mit
+# allen VMware-Images.
diff --git a/vmware/vmimages.desktop b/vmware/vmimages.desktop
new file mode 100644
index 00000000..a7c6c7f0
--- /dev/null
+++ b/vmware/vmimages.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+X-SuSE-translate=true
+Encoding=UTF-8
+Type=XSession
+Exec=vmmenu
+TryExec=/var/X11R6/bin/vmmenu
+Name=Weitere VMware-Images
+Comment=Menü mit VMware-Images starten
+# VMware Images die auch unter kdm angezeigt werden sollen müssen nach
+# .../vmsessions/kdm kopiert werden. Falls nicht alle Images unter .../kdm
+# landen, können alle images noch über diese .desktop-Datei angezeigt werden.
+# Der KDM Menüpunkt heißt wie unter NAme= definiert und startet Xdialog mit
+# allen VMware-Images.