SSHFILE="$STATE_DIR/ssh"
DISPLAYFILE="$STATE_DIR/display"
SPICEFILE="$STATE_DIR/spice"
+ XEPHYRFILE="$STATE_DIR/xephyr"
LOGFILE="$LOG_DIR/qemu"
SPICELOG="$LOG_DIR/spice"
XPRALOG="$LOG_DIR/xpra"
fi
echo /usr/bin/sudo poweroff | kvmx_ssh &> /dev/null
+ kvmx_xephyr_stop
sleep 3
kvmx_status
}
echo "Unable to hibernate guest: please check guest configuration"
exit 1
else
+ kvmx_xephyr_stop
kvmx_status
fi
}
if kvmx_running; then
PID="`cat $PIDFILE`"
kill $PID
+ kvmx_xephyr_stop
fi
}
if kvmx_running; then
PID="`cat $PIDFILE`"
kill -9 $PID
+ kvmx_xephyr_stop
fi
}
Xephyr :$GUEST_DISPLAY -ac -port $XDMCP_PORT -query 127.0.0.1 $resolution &> $XDMCPLOG < /dev/null &
+ XEPHYRPID="$!"
+ echo "$XEPHYRPID" > $XEPHYRFILE
+
# Give time to connect
sleep 1
# Set keyboard layout
# Thanks https://unix.stackexchange.com/questions/304391/xephyr-keyboard-mapping-not-working-properly
- setxkbmap -display :0 -print | xkbcomp - :$GUEST_DISPLAY >> $XDMCPLOG
+ setxkbmap -display :0 -print | xkbcomp - :$GUEST_DISPLAY &> /dev/null
# Fix window titles
if which /usr/bin/xdotool &> /dev/null; then
fi
}
+# Close Xephyr client
+function kvmx_xephyr_stop {
+ XEPHYRPID="`cat $XEPHYRFILE`"
+
+ if [ ! -z "$XEPHYRPID" ]; then
+ kill $XEPHYRPID &> /dev/null
+ fi
+}
+
# Dispatch
if type kvmx_$ACTION 2> /dev/null | grep -q 'function'; then
__kvmx_initialize