summaryrefslogtreecommitdiffstats
path: root/core/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient
diff options
context:
space:
mode:
Diffstat (limited to 'core/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient')
-rwxr-xr-xcore/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient b/core/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient
new file mode 100755
index 00000000..0ad739e0
--- /dev/null
+++ b/core/modules/pvs2/data/opt/openslx/vmchooser/sessionstart.d/50-PVSclient
@@ -0,0 +1,26 @@
+#!/bin/ash
+
+# SESSION_TYPE can be either 'VSESSION' or 'XSESSION' - currently not evaluated
+
+# detect session command of the PVS-Manager session by looking at the xsession file
+PVSMGR_SESSION_CMD=
+PVSMGR_XSESSION_FILE="pvs2mgr.desktop"
+# the second directory should not be needed, but lets be compatible with the old crap......
+for DIR in "/usr/share/xsessions" "/opt/openslx/xsessions/"; do
+ if [ -f "${DIR}/${PVSMGR_XSESSION_FILE}" ]; then
+ # extract the exact command string
+ PVSMGR_SESSION_CMD="$(grep -E "^Exec=.*$" "${DIR}/${PVSMGR_XSESSION_FILE}" |cut -c 6-)"
+ break
+ fi
+done
+if [ -n "${PVSMGR_SESSION_CMD}" ]; then
+ # do not start pvsclient if we are running the pvs manager session
+ [ "x${SESSION_CMD}" == "x${PVSMGR_SESSION_CMD}" ] && exit 0
+fi
+# If the ENV var PVS has been set by vmchooser start pvsclient
+if [ -n "$PVS_AUTO_CONNECT" -a "$PVS_AUTO_CONNECT" == "TRUE" ]; then
+ pvsclient --auto &
+else
+ pvsclient &
+fi
+exit 0