summaryrefslogtreecommitdiffstats
path: root/vmware
diff options
context:
space:
mode:
authorMichael Janczyk2006-11-09 16:40:23 +0100
committerMichael Janczyk2006-11-09 16:40:23 +0100
commitefd062eee48f820443d3873590f758f8bd29b6f3 (patch)
treed601f99d726a979bb2b2cc85b988cb884986c754 /vmware
parentJust to ensure integrity (old boot.local via dhcp-variable will be (diff)
downloadcore-efd062eee48f820443d3873590f758f8bd29b6f3.tar.gz
core-efd062eee48f820443d3873590f758f8bd29b6f3.tar.xz
core-efd062eee48f820443d3873590f758f8bd29b6f3.zip
new runvmware functionality
vmimages.desktop is now created automatically when not all image shown in xdm menu new variables slxgrp and xdm in .desktop-files. if slxgrp set in machine-setup, only those images will be shown. xdm=true defines if image is shown in the xdm-menu functions-default for suse, but it contains a nearly distro intependend kdmrc creation, if no theme built /w mkdxsini... -s themename then kdm will start /wo a theme git-svn-id: http://svn.openslx.org/svn/openslx/trunk@504 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'vmware')
-rw-r--r--vmware/kursimages.desktop8
-rwxr-xr-xvmware/runvmware122
-rw-r--r--vmware/vmimages.desktop13
3 files changed, 52 insertions, 91 deletions
diff --git a/vmware/kursimages.desktop b/vmware/kursimages.desktop
deleted file mode 100644
index 5e8d2838..00000000
--- a/vmware/kursimages.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[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 fd380955..9a1e0e28 100755
--- a/vmware/runvmware
+++ b/vmware/runvmware
@@ -4,18 +4,14 @@
# X Stations and interactive session chooser (v4)
#
# Author(s): Dirk von Suchodoletz <dirk@goe.net>, 18-03-2006
-# Michael Janczyk <mj0@uni-freiburg.de>, 27-10-2006
+# Michael Janczyk <mj0@uni-freiburg.de>, 09-11-2006
# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg
#
-# Version: 0.16.473
+# Version: 0.16.504
#
################################################################################
-### read from machine-setup (for slxgrp) #######################################
-. /etc/machine-setup
-
-
### VERBOSE? ###################################################################
# set verbose mode (set -x(v))
#set -xv
@@ -40,7 +36,6 @@ runvmwareconfheader ()
memsize = \"${mem}\"
numvcpus = \"1\"
-
###### ide-disks #############################################################
ide0:0.mode = \"${np}\"
ide0:0.present = \"TRUE\"
@@ -54,28 +49,23 @@ runvmwareconfheader ()
ide1:1.fileName = \"${cdr_2_name}\"
ide1:1.deviceType = \"cdrom-raw\"
-
###### scsi-disks ############################################################
scsi0.present = \"FALSE\"
-
###### nics ##################################################################
ethernet0.present = \"TRUE\"
ethernet0.addressType = \"static\"
ethernet0.connectionType = \"bridged\"
ethernet0.address = \"00:50:56:0D:${mac}\"
-
###### sound #################################################################
sound.present = \"TRUE\"
sound.virtualDev = \"es1371\"
-
###### usb ###################################################################
usb.present = \"TRUE\"
usb.generic.autoconnect = \"TRUE\"
-
###### floppies ##############################################################
floppy0.present = \"${floppya}\"
floppy0.fileName = \"/dev/fd0\"
@@ -85,13 +75,11 @@ runvmwareconfheader ()
floppy1.fileName = \"${floppybname}\"
floppy1.startConnected = \"TRUE\"
-
###### ports #################################################################
parallel0.present = \"FALSE\"
serial0.present = \"FALSE\"
-
###### shared folders ########################################################
sharedFolder0.present = \"TRUE\"
sharedFolder0.enabled = \"TRUE\"
@@ -102,7 +90,6 @@ runvmwareconfheader ()
sharedFolder0.writeAccess = \"TRUE\"
sharedFolder.maxNum = \"1\"
-
###### misc ##################################################################
tmpDirectory = \"${tmpdir}\"
mainMem.useNamedFile = \"FALSE\"
@@ -121,7 +108,6 @@ runvmwareconfheader ()
pref.hotkey.alt = \"TRUE\"
svga.maxWidth = \"${xres}\"
svga.maxHeight = \"${yres}\"
-
" \
>${confile}
@@ -141,7 +127,8 @@ preferencesheader ()
###### *.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. ######
+ ###### tmpDirectory = /nfs-viel-platz und darin wird dann vmware-\$user ######
+ ###### angelegt. ######
hints.hideAll = \"TRUE\"
pref.exchangeSelections = \"TRUE\"
@@ -159,7 +146,6 @@ preferencesheader ()
pref.eula.0.buildNumber = \"${vmbuild}\"
pref.eula.1.appName = \"VMware Workstation\"
pref.eula.1.buildNumber = \"${vmbuild}\"
-
" \
>${vmhome}/preferences
}
@@ -195,7 +181,7 @@ floppyb="FALSE"
# place for the virtual floppy "B:"
floppybname="/etc/vmware/loopimg/fd1.img"
# resolution
-hostres=$(xvidtune -show | grep -ve "^$")
+hostres=$(xvidtune -show 2>/dev/null| grep -ve "^$")
xres=$(echo "${hostres}" | awk '{print $3}')
yres=$(echo "${hostres}" | awk '{print $7}')
guestres=
@@ -215,13 +201,11 @@ vmdir="/var/lib/vmware"
vmtempl="${vmdir}/templ"
# .desktop files directory
xsessions="/usr/share/xsessions"
-vmsessions="${vmdir}/vmsessions"
+vmsessions="/etc/X11/sessions/runvmware"
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
@@ -386,33 +370,25 @@ x_dialog ()
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}]=${execute[${i}]:-"No comment"}
- menu="$menu \"\${execute[${i}]}\""
- i=${i}+1
-
- fi
+ # 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
(( args=${args}+1 ))
done
@@ -443,6 +419,19 @@ x_dialog ()
rm -f ${tmpdir}/Xdialog
}
+x_dialog_check ()
+{
+ if ! [ `which Xdialog 2>/dev/null` ]; 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
+}
+
filecheck ()
{
@@ -589,7 +578,7 @@ while [ ${nofclopt} -gt "${args}" ]; do
vmopt=$(echo ${vmopt} | sed -e "s,-q,,")
;;
*)
- echo -e "\n\tOption \"${lineopts[${args}]}\" not found, please correct.\n"
+ echo -e "\n\tOption\"${lineopts[${args}]}\" not found, please correct.\n"
sleep 1
help
;;
@@ -599,21 +588,12 @@ 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
# if --xdm set don't go further, only used for xdm starts
if [ "${xdm}" = "all" -o "${xdm}" = "vm" ]; then
+ x_dialog_check
xdm_mode
args_dial=$(x_dialog 2>&1) # 2>&1, see function
exec ${args_dial}
@@ -624,6 +604,16 @@ elif [ -n "${xdmstart}" -a -z "${xdm}" ]; then
\n\n\t\t\tClosing in 3 seconds."; sleep 3' && exit 1
fi
+# 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
+
# 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
@@ -747,15 +737,7 @@ if [ -n "${istart}" ]; then
fi
# check for Xdialog
- if ! [ `which Xdialog 2>/dev/null` ]; 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
+ x_dialog_check
# create menu, etc...
startvm=$(x_dialog 2>&1) # 2>&1, see function
@@ -790,7 +772,7 @@ fi
# define name for VMware window
displayname=$(grep -m 1 -i "name" \
- ${vmsessions}/*${startvm}.desktop | awk -F "=" '{print $2}')
+ ${vmsessions}/${startvm}.desktop | awk -F "=" '{print $2}')
# if variable not set
displayname=${displayname:-"VMware Image"}
diff --git a/vmware/vmimages.desktop b/vmware/vmimages.desktop
deleted file mode 100644
index a7c6c7f0..00000000
--- a/vmware/vmimages.desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[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.