aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/desktop-autoloader9
-rw-r--r--contrib/desktop-autoloader.default3
2 files changed, 12 insertions, 0 deletions
diff --git a/bin/desktop-autoloader b/bin/desktop-autoloader
index 9a13de1..0ab6390 100755
--- a/bin/desktop-autoloader
+++ b/bin/desktop-autoloader
@@ -21,6 +21,7 @@
# Boston, MA 02110-1301 USA
DESKTOP_AUTOLOADER_ENABLE=false
+REQUIRED_MEMORY_THRESHOLD=2048
AUTOLOAD_DISPLAY=":20"
DESKTOP_SESSION_MANAGER="x-session-manager"
@@ -38,6 +39,14 @@ if ! is_true "$DESKTOP_AUTOLOADER_ENABLE"; then
exit 0
fi
+AVAILABLE_SYSTEM_MEMORY=$(free -m | grep Mem | awk '{print $2}')
+
+if [ ! "${AVAILABLE_SYSTEM_MEMORY}" -gt "${REQUIRED_MEMORY_THRESHOLD}" ]; then
+ echo "Desktop Autoloader is configured to only run on systems with more than ${REQUIRED_MEMORY_THRESHOLD} MiB of RAM."
+ echo "This system only has ${AVAILABLE_SYSTEM_MEMORY} MiB."
+ exit 0
+fi
+
# clean up .xsession-errors for a new launch (in case this tool is used
# on a non-diskless machine...
if [ "$(id -un)" == "desktop-autoloader" ]; then
diff --git a/contrib/desktop-autoloader.default b/contrib/desktop-autoloader.default
index c41a590..c26c15f 100644
--- a/contrib/desktop-autoloader.default
+++ b/contrib/desktop-autoloader.default
@@ -6,6 +6,9 @@
# The autoloader is disabled by default. Enable it here (s/false/true/).
#DESKTOP_AUTOLOADER_ENABLED=false
+# Only run the Desktop Autoloader if the available RAM is above this threshold (in MiB)
+#REQUIRED_MEMORY_THRESHOLD=2048
+
# The virtual display to be used for the autoloader session.
AUTOLOAD_DISPLAY=:20