From b2f2e17e21504df11ac1876e4c330f81a46d2913 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Mon, 30 Jul 2018 17:29:00 +0200 Subject: [run-virt] linux script: Waiting when starting script minimised. --- .../vmchooser/data/linux/includes/90_runscript.inc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 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/90_runscript.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/90_runscript.inc index f5ef0223..55ecc254 100755 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/90_runscript.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/data/linux/includes/90_runscript.inc @@ -1,3 +1,11 @@ +function wait_for_wm() +{ + # This just waits until there's a window manager. + while [[ "$(DISPLAY=:0.0 XAUTHORITY=${XAUTHORITY} xprop -root _NET_SUPPORTING_WM_CHECK)" =~ "no such atom" ]]; do + sleep 2 + done +} + function runscript() { logger "openslx: runscript: looking for a script to run..." @@ -27,19 +35,16 @@ function runscript() 1) # 1=normal logger "openslx utility: runscript: Starting script maximised." get_xauthfile + wait_for_wm DISPLAY=:0.0 XAUTHORITY="${XAUTHORITY}" $USERPART xterm "$DISKMOUNTDIR/runscript${SCRIPTEXT}" & ;; 2) # 2=minimized (xterm -iconic) logger "openslx utility: runscript: starting script minimised." get_xauthfile - - # warte auf Window manager... - while [[ "$(DISPLAY=:0.0 XAUTHORITY=${XAUTHORITY} xprop -root _NET_SUPPORTING_WM_CHECK)" =~ "no such atom" ]]; do - sleep 2 - done + wait_for_wm # Truly not the best way to wait until the desktop environment is ready, but there's no common way to - # check for DE readyness. Until then, we'll sleep. + # check for DE readiness. Until then, we'll sleep. sleep 20 DISPLAY=:0.0 XAUTHORITY="${XAUTHORITY}" $USERPART xterm -iconic "$DISKMOUNTDIR/runscript${SCRIPTEXT}" & -- cgit v1.2.3-55-g7522