From a52b288e32bda0ce7681a009d45dbb480198fc13 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Thu, 29 Nov 2018 16:41:41 +0100 Subject: [run-virt] Linux scripts some changes: Desktop links, permiss. etc --- .../vmchooser/data/linux/includes/00_vars.inc | 1 + .../vmchooser/data/linux/includes/10_functions.inc | 3 +++ .../data/linux/includes/10_preliminaries.inc | 5 ++++- .../data/linux/includes/30_mount_shares.inc | 25 +++++++++++++++------- .../data/linux/includes/60_resolution.inc | 3 ++- 5 files changed, 27 insertions(+), 10 deletions(-) (limited to 'core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes') diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/00_vars.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/00_vars.inc index 60673811..6ff9271a 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/00_vars.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/00_vars.inc @@ -4,6 +4,7 @@ USERHOME=/home/"$LOCALUSER" USERHOMEDIR=/home/"$LOCALUSER"/PERSISTENT USERDESKTOP=$(su -c - $LOCALUSER "xdg-user-dir DESKTOP") [ "$USERDESKTOP" == "" ] && USERDESKTOP="$USERHOME" +USERLOGFILE="$USERDESKTOP"/openslx.log DISKMOUNTDIR=/mnt/diskmount SLXCONFIGFILE="$DISKMOUNTDIR"/openslx.ini diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc index abdb0890..a061fef9 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_functions.inc @@ -97,6 +97,7 @@ function mount_share() ERR=$? # ERR merken wg. Links aus USERSHAREDIR if [ "$ERR" -eq 1 ]; then logger "openslx sharemapper: Could not mount ${USERSHAREDIR} even using user credentials; giving up." + echo "Konnte Laufwerk ${SHAREPATH} nicht einhängen." >> "$USERLOGFILE" fi unset USER unset PASSWD @@ -106,9 +107,11 @@ function mount_share() if [ -n "${SHARENAME}" ]; then ln -s "$USERSHAREDIR" "${USERDESKTOP}"/"$SHARENAME" + chown "$LOCALUSER" "${USERDESKTOP}"/"$SHARENAME" logger "openslx sharemapper: ${SHARENAME} linked." elif [ -n "${SHARELETTER}" ]; then ln -s "$USERSHAREDIR" "${USERDESKTOP}"/"$SHARELETTER" + chown "$LOCALUSER" "${USERDESKTOP}"/"$SHARELETTER" logger "openslx sharemapper: No sharename found, share letter ${SHARELETTER} linked." fi diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_preliminaries.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_preliminaries.inc index bcbd6ec1..4cbef828 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_preliminaries.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/10_preliminaries.inc @@ -2,7 +2,10 @@ preliminaries_native() { # USERHOMEDIR=~/PERSISTENT, not ~! ################ [ -h "$USERHOMEDIR" ] && unlink "$USERHOMEDIR" - [ ! -d "$USERHOMEDIR" ] && mkdir -p "$USERHOMEDIR" + if [ ! -d "$USERHOMEDIR" ]; then + mkdir -p "$USERHOMEDIR" + chown "$LOCALUSER" "$USERHOMEDIR" + fi } preliminaries_vmware() diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc index 944bdbe8..8328e361 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/30_mount_shares.inc @@ -26,18 +26,27 @@ function mount_shares() logger "openslx sharemapper: home share \"$SHARENAME\" found (for PERSISTENT)." export USER="${GLOBALUSER}" export PASSWD="${PW}" + ERRORMSG="" mounter "${MOUNTPARAM}" "${MOUNTOPTS}" "${SHAREPATH}" "${USERHOMEDIR}" 2>/dev/null 1>&2 & + ERR=$? unset USER unset PASSWD - # linken: userhomedir <-sharename, userhomedir <- shareletter - #logger "openslx sharemapper: Linking ${USERDESKTOP}/$(basename $USERHOMEDIR, if possible." - logger "openslx sharemapper: Linking ${USERDESKTOP}/$(basename $USERHOMEDIR), if possible." - # Changed: Link on Desktop no longer "Home-verz.", but same - # name as last part of $USERHOMEDIR (-->PERSISTENT) - # ln -s "$USERHOMEDIR" "${USERDESKTOP}"/"$SHARENAME" - ln -s "$USERHOMEDIR" "${USERDESKTOP}"/$(basename "$USERHOMEDIR") - logger "openslx sharemapper: "${USERDESKTOP}"/$(basename "$USERHOMEDIR") linked." + case $ERR in 1) echo "Konnte Home-Laufwerk nicht einhängen!" >> "$USERLOGFILE" + ;; + 2) logger "openslx sharemapper: home share seems to be already mounted." + ;; + 0) logger "openslx sharemapper: Linking ${USERDESKTOP}/$(basename $USERHOMEDIR), if possible." + # Changed: Link on Desktop no longer "Home-verz.", but same + # name as last part of $USERHOMEDIR (-->PERSISTENT) + # ln -s "$USERHOMEDIR" "${USERDESKTOP}"/"$SHARENAME" + ln -s "$USERHOMEDIR" "${USERDESKTOP}"/$(basename "$USERHOMEDIR") + chown "$LOCALUSER" "${USERDESKTOP}"/$(basename "$USERHOMEDIR") + logger "openslx sharemapper: "${USERDESKTOP}"/$(basename "$USERHOMEDIR") linked." + ;; + *) logger "openslx sharemapper: Unknown error level mounting home share." + ;; + esac else if [ -n "${SHARENAME}" ]; then mount_share & diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/60_resolution.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/60_resolution.inc index 86de6096..a3e6c746 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/60_resolution.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/60_resolution.inc @@ -3,7 +3,8 @@ get_xauthfile() # Das ist mitunter ein Problem, da die richtige xauth zu finden - Distroabhängig! for wartezeit in 1 2 3 5 10 10 0 ende; do [ "$wartezeit" = "ende" ] && { logger "openslx resolution utility: XAUTHFILE not found. Exiting."; exit 1; } - XAUTHORITY=$(ps aux | grep -o "root.*X.* \-auth *[^ ]*" | awk '{print $NF}') + # XAUTHORITY=$(ps aux | grep -o "root.*X.* \-auth *[^ ]*" | awk '{print $NF}') + XAUTHORITY=$(ps aux | grep -o ".*/X.* \-auth *[^ ]*" | head -n 1 | awk '{print $NF}') [ -n "${XAUTHORITY}" ] && break sleep $wartezeit done -- cgit v1.2.3-55-g7522