From eb0587ff0fc3b56409dc2f463af74c496991cd0a Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 5 Sep 2016 19:27:11 +0200 Subject: [vmware] Rely on usb config from server, only do fallback --- .../vmchooser/vmware/includes/parse_vmx.inc | 38 +++++++++++++--------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc index 69ec513a..edbaeddc 100644 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc +++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/parse_vmx.inc @@ -18,7 +18,7 @@ echo 'ethernet0.addressType = "static"' >> "${TMPCONFIG}" echo 'ethernet0.address = "'"${macaddr}"'"' >> "${TMPCONFIG}" # DVD, CDROM -# XXX: For now it's save to assume ide channel 1 is free, as we support only one HDD, and it it's IDE, it's on channel 0 +# XXX: For now it's safe to assume ide channel 1 is free, as we support only one HDD, and if it's IDE, it's on channel 0 cat >> "${TMPCONFIG}" <<-HEREEND ide1:0.present = "$cdrom0" ide1:0.autodetect = "TRUE" @@ -60,17 +60,21 @@ MemAllowAutoScaleDown = "FALSE" MemTrimRate = "-1" HEREEND -# USB -if [ -n "$SLX_EXAM" ]; then - # Exam mode: No USB (TODO: Configurable) - sed -i '/^usb\./d' "${TMPCONFIG}" - echo 'usb.present = "FALSE"' >> "${TMPCONFIG}" -else - cat >> "${TMPCONFIG}" <<-HEREEND - usb.present = "TRUE" - usb.generic.autoconnect = "TRUE" - HEREEND +# USB fallback: Only write usb config if there's none +if ! grep -q -i "^usb\.present" "${TMPCONFIG}"; then + # Nothing found, go ahead + if [ -n "$SLX_EXAM" ]; then + # Exam mode: Default to no USB + sed -i '/^usb\./Id' "${TMPCONFIG}" + echo 'usb.present = "FALSE"' >> "${TMPCONFIG}" + else + cat >> "${TMPCONFIG}" <<-HEREEND + usb.present = "TRUE" + HEREEND + fi fi +sed -i '/^usb\.generic\.autoconnect/Id' "${TMPCONFIG}" +echo 'usb.generic.autoconnect = "TRUE"' >> "${TMPCONFIG}" # shared folders if [ "$HGFS_DISABLED" = "FALSE" ]; then @@ -120,7 +124,7 @@ else fi # Disable DPI scaling information passing via vmware tools -sed -i '/^gui.applyHostDisplayScaling/d' "${TMPCONFIG}" +sed -i '/^gui.applyHostDisplayScaling/Id' "${TMPCONFIG}" echo 'gui.applyHostDisplayScalingToGuest = "FALSE"' >> "${TMPCONFIG}" # Additinal exam mode settings @@ -168,10 +172,14 @@ fi #grep -qi '^vpmc\.enable' "${TMPCONFIG}" || echo 'vpmc.enable = "TRUE"' >> "${TMPCONFIG}" # Disable space check warnings -sed -i '/^mainMem.freeSpaceCheck/d' "${TMPCONFIG}" +sed -i '/^mainMem.freeSpaceCheck/Id' "${TMPCONFIG}" echo 'mainMem.freeSpaceCheck = "FALSE"' >> "${TMPCONFIG}" # At last_ Let's copy it to $confdir/run-vmware.conf -cp -p "${TMPCONFIG}" "$conffile" && writelog "Copied TMPDIR/IMGUUID ${TMPCONFIG} to conffile ${conffile}" || \ - ( writelog "Could not copy TMPDIR/IMGUUID -${TMPCONFIG}- to conffile ${conffile}!"; cleanexit 1 ) +if cp -p "${TMPCONFIG}" "$conffile"; then + writelog "Copied TMPDIR/IMGUUID ${TMPCONFIG} to conffile ${conffile}" +else + writelog "Could not copy TMPDIR/IMGUUID -${TMPCONFIG}- to conffile ${conffile}!" + cleanexit 1 +fi -- cgit v1.2.3-55-g7522