#!/bin/ash# This script launches the real vmchooser (vmchooser.real)# It's here to pass the XML URL, coming from# /opt/openslx/config, as well as the pool filter (if any)
. /opt/openslx/config
unset MEM URL ERRMSG EXTRA TAB HW_MBRAM HW_ID44
if[-n"$SLX_VMCHOOSER_BASE_URL"];then
URL="$SLX_VMCHOOSER_BASE_URL"elif[-n"$SLX_PXE_SERVER_IP"];then
URL="http://$SLX_PXE_SERVER_IP/vmchooser/"else
slxlog "virt-vmchooser""vmchooser: Could not determine URL to fetch VM list from! (need SLX_VMCHOOSER_BASE_URL)"
ERRMSG="Keine URL zum Abrufen der verfügbaren Veranstaltungen definiert. Versuchen Sie, den Computer neu zu starten und wenden Sie sich an den Support, wenn das Problem weiterhin besteht."/opt/openslx/cups/printergui --error"$ERRMSG" || notify-send "Fehler""$ERRMSG"fi[-s"/run/hwinfo"] && . "/run/hwinfo"if[-z"$HW_MBRAM"];then
MEM=$(grep-m1'^MemTotal:'/proc/meminfo | awk'{print$2}')
HW_MBRAM=$(( MEM /1024))fi# No/small ID44 = penalty to available ramif[-n"$HW_ID44"] && ! ["$HW_ID44"-gt9000];then# Use negation so NaN -> TRUE
HW_MBRAM=$(( ( HW_MBRAM *3) /4))fiif[-n"$SLX_VMCHOOSER_TAB"] && ["$SLX_VMCHOOSER_TAB"-ge0-a"$SLX_VMCHOOSER_TAB"-le2]2>/dev/null;then
TAB="$SLX_VMCHOOSER_TAB"elif["$HW_MBRAM"-lt3000];then# Check RAM size; if it's not that much, default to the native linux sessions
TAB=0else
TAB=2fi[-n"$SLX_VMCHOOSER_TEMPLATES"] && EXTRA="$EXTRA--template-mode$SLX_VMCHOOSER_TEMPLATES"[-n"$SLX_VMCHOOSER_FORLOCATION"] && EXTRA="$EXTRA--location-mode$SLX_VMCHOOSER_FORLOCATION"["$HW_KVM"!="ENABLED"] && EXTRA="$EXTRA--no-vtx"if[-n"$SLX_EXAM"];then
EXTRA="$EXTRA--exam-mode"elif[-n"$SLX_AUTOSTART_UUID"];thenSLX_EXAM_START="$SLX_AUTOSTART_UUID"fiif[-z"$SLX_NO_PVS"];then
EXTRA="$EXTRA--pvs"if["x$SLX_PVS_DEFAULT"="xON"] || ["x$SLX_PVS_HYBRID"="xyes"];then
EXTRA="$EXTRA--pvs-checked"fifiif[-z"${SLX_AUTOLOGIN%OFF}"] && [-n"$SLX_VMCHOOSER_TIMEOUT"] && ["$SLX_VMCHOOSER_TIMEOUT"-gt0];then
EXTRA="$EXTRA--autoquit$SLX_VMCHOOSER_TIMEOUT"fi# No quotes around $EXTRA!if[-z"$SLX_LOCATIONS"];thenexec vmchooser.real "$@"--url"$URL"--fullscreen --tab"$TAB"--start-uuid"$SLX_EXAM_START"$EXTRAfi# No quotes around $EXTRA!exec vmchooser.real "$@"--url"$URL"--fullscreen --tab"$TAB"--start-uuid"$SLX_EXAM_START"--locations"$SLX_LOCATIONS"$EXTRA