Spaces:
Paused
Paused
Create start.sh
Browse files
start.sh
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
export DISPLAY=:0
|
| 4 |
+
export HOME=/home/user
|
| 5 |
+
|
| 6 |
+
chown -R user:user /home/user
|
| 7 |
+
|
| 8 |
+
mkdir -p /run/dbus
|
| 9 |
+
dbus-daemon --system --fork 2>/dev/null || true
|
| 10 |
+
|
| 11 |
+
ISO_FILE="/home/user/iso/nyarch.iso"
|
| 12 |
+
|
| 13 |
+
if [ -f "$ISO_FILE" ]; then
|
| 14 |
+
echo "=== Found NyArch ISO ==="
|
| 15 |
+
echo "=== Starting VM ==="
|
| 16 |
+
|
| 17 |
+
Xvfb :0 -screen 0 1280x720x24 &
|
| 18 |
+
sleep 2
|
| 19 |
+
|
| 20 |
+
DISPLAY=:0 openbox &
|
| 21 |
+
sleep 1
|
| 22 |
+
|
| 23 |
+
DISPLAY=:0 qemu-system-x86_64 \
|
| 24 |
+
-m 8096 \
|
| 25 |
+
-cpu qemu64 \
|
| 26 |
+
-smp 2 \
|
| 27 |
+
-hda /home/user/vm/nyarch.qcow2 \
|
| 28 |
+
-cdrom "$ISO_FILE" \
|
| 29 |
+
-boot d \
|
| 30 |
+
-vga std \
|
| 31 |
+
-display gtk \
|
| 32 |
+
-usb \
|
| 33 |
+
-device usb-tablet &
|
| 34 |
+
sleep 4
|
| 35 |
+
|
| 36 |
+
x11vnc -display :0 -forever -shared -nopw -rfbport 5900 &
|
| 37 |
+
sleep 2
|
| 38 |
+
|
| 39 |
+
echo "=== Starting noVNC ==="
|
| 40 |
+
websockify --web=/usr/share/novnc/ 7860 localhost:5900
|
| 41 |
+
else
|
| 42 |
+
echo "=== No ISO found ==="
|
| 43 |
+
echo "Download failed. Please check NyArch download URL."
|
| 44 |
+
sleep infinity
|
| 45 |
+
fi
|