From 73f9e77a17ed688216a434155e657b07fce62193 Mon Sep 17 00:00:00 2001
From: Alessandro Pignotti <a.pignotti@sssup.it>
Date: Sat, 5 Oct 2024 19:31:05 +0200
Subject: [PATCH] Basic support for running bash

---
 src/App.svelte | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/src/App.svelte b/src/App.svelte
index b1bb090..e6689e5 100644
--- a/src/App.svelte
+++ b/src/App.svelte
@@ -111,6 +111,31 @@
 		// TODO: Register activity callbacks
 		term.scrollToBottom();
 		cxReadFunc = cx.setCustomConsole(writeData, term.cols, term.rows);
+		// Reasonable defaults for local deployments
+		// var cmd = "/bin/bash";
+		// var args = ["--login"];
+		// var env = ["HOME=/home/user", "TERM=xterm", "USER=user", "SHELL=/bin/bash", "EDITOR=vim", "LANG=en_US.UTF-8", "LC_ALL=C"];
+		// var cwd = "/home/user";
+		// Executable full path (Required)
+		var cmd = "/bin/bash";
+		// Arguments, as an array (Required)
+		var args = ["--login"]
+		// Optional extra parameters
+		var opts = {
+			// Environment variables
+			env: ["HOME=/home/user", "TERM=xterm", "USER=user", "SHELL=/bin/bash", "EDITOR=vim", "LANG=en_US.UTF-8", "LC_ALL=C"],
+			// Current working directory
+			cwd: "/home/user",
+			// User id
+			uid: 1000,
+			// Group id
+			gid: 1000
+		};
+		// Run the command in a loop, in case the user exits
+		while (true)
+		{
+			await cx.run(cmd, args, opts);
+		}
 	}
 	onMount(initTerminal);
 </script>