aboutsummaryrefslogtreecommitdiff
path: root/bin/desktop-autoloader
diff options
context:
space:
mode:
Diffstat (limited to 'bin/desktop-autoloader')
-rwxr-xr-xbin/desktop-autoloader19
1 files changed, 18 insertions, 1 deletions
diff --git a/bin/desktop-autoloader b/bin/desktop-autoloader
index 0ab6390..5a3856c 100755
--- a/bin/desktop-autoloader
+++ b/bin/desktop-autoloader
@@ -25,6 +25,9 @@ REQUIRED_MEMORY_THRESHOLD=2048
AUTOLOAD_DISPLAY=":20"
DESKTOP_SESSION_MANAGER="x-session-manager"
+DEBUG_X11VNC_ENABLE=false
+DEBUG_X11VNC_RFBPORT=5910
+
test -f /etc/default/desktop-autoloader && . /etc/default/desktop-autoloader
function is_true() {
@@ -66,8 +69,22 @@ if ! type -p "${DESKTOP_SESSION_MANAGER}" 1>/dev/null; then
fi
# launch an invisible X-Server
-Xvfb "${AUTOLOAD_DISPLAY}" &
+Xvfb ${AUTOLOAD_DISPLAY} -screen 0 1024x768x16 -cc 4 -nolisten tcp &
+XVFB_PID=$?
# launch a session inside this Xserver
export DISPLAY="${AUTOLOAD_DISPLAY}"
+
+# attach an x11vnc instance to the DISPLAY, if debugging is enabled
+if type -p x11vnc 1>/dev/null && is_true "${DEBUG_X11VNC_ENABLE}"; then
+
+ sleep 1
+ x11vnc -rfbport "${DEBUG_X11VNC_RFBPORT}" -forever -localhost &
+ X11VNC_PID=$?
+
+fi
+
STARTUP="${DESKTOP_SESSION_MANAGER}" dbus-run-session /etc/X11/Xsession
+
+kill $X11VNC_PID
+kill $XVFB_PID