Spaces:
Paused
Paused
Update start.sh
Browse files
start.sh
CHANGED
|
@@ -1,9 +1,10 @@
|
|
| 1 |
#!/bin/bash
|
| 2 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 3 |
-
# THE Z AI โ Computer Mode Startup (FIXED
|
| 4 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 5 |
|
| 6 |
-
echo "
|
|
|
|
| 7 |
|
| 8 |
# โโ 1. Start Virtual Display โโโโโโโโโโโโโโโโโโโโโ
|
| 9 |
pkill Xvfb 2>/dev/null || true
|
|
@@ -13,25 +14,43 @@ XVFB_PID=$!
|
|
| 13 |
echo "โ
Xvfb started (PID: $XVFB_PID)"
|
| 14 |
sleep 2
|
| 15 |
|
| 16 |
-
# โโ 2. Export DISPLAY โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 17 |
export DISPLAY=:1
|
| 18 |
export XAUTHORITY=/root/.Xauthority
|
| 19 |
-
|
| 20 |
touch $XAUTHORITY
|
| 21 |
xauth generate :1 . trusted 2>/dev/null || true
|
| 22 |
echo "โ
DISPLAY=$DISPLAY"
|
| 23 |
|
| 24 |
-
# โโ 3.
|
| 25 |
-
xsetroot -solid "#0d0d0d" 2>/dev/null || true
|
| 26 |
-
|
| 27 |
-
# โโ 4. Start Fluxbox WM โโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 28 |
pkill fluxbox 2>/dev/null || true
|
| 29 |
fluxbox &
|
| 30 |
FLUX_PID=$!
|
| 31 |
echo "โ
Fluxbox started (PID: $FLUX_PID)"
|
| 32 |
-
sleep
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
|
| 34 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
echo "๐ Testing display..."
|
| 36 |
if xdotool getdisplaygeometry 2>/dev/null; then
|
| 37 |
echo "โ
Display working!"
|
|
@@ -39,18 +58,18 @@ else
|
|
| 39 |
echo "โ ๏ธ xdotool test failed โ continuing anyway"
|
| 40 |
fi
|
| 41 |
|
| 42 |
-
# โโ 6. Test screenshot โโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 43 |
scrot -q 80 /tmp/test_shot.png 2>/dev/null && \
|
| 44 |
echo "โ
Screenshot test: OK" || \
|
| 45 |
echo "โ ๏ธ scrot test failed"
|
| 46 |
|
| 47 |
-
# โโ 7. Detect browser โโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 48 |
-
if command -v firefox &>/dev/null; then
|
| 49 |
-
echo "โ
Browser: firefox"
|
| 50 |
-
BROWSER="firefox"
|
| 51 |
-
elif command -v firefox-esr &>/dev/null; then
|
| 52 |
echo "โ
Browser: firefox-esr"
|
| 53 |
BROWSER="firefox-esr"
|
|
|
|
|
|
|
|
|
|
| 54 |
elif command -v chromium-browser &>/dev/null; then
|
| 55 |
echo "โ
Browser: chromium-browser"
|
| 56 |
BROWSER="chromium-browser"
|
|
@@ -58,10 +77,16 @@ else
|
|
| 58 |
echo "โ ๏ธ No browser found"
|
| 59 |
BROWSER=""
|
| 60 |
fi
|
| 61 |
-
|
| 62 |
-
# Export browser name so app.py can use it
|
| 63 |
export DEFAULT_BROWSER="$BROWSER"
|
| 64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
echo "๐ Starting Python API on port ${PORT:-7860}..."
|
| 66 |
cd /app
|
| 67 |
exec python3 app.py
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 3 |
+
# THE Z AI โ Computer Mode Startup (FIXED v4)
|
| 4 |
# โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 5 |
|
| 6 |
+
echo "===== Application Startup at $(date '+%Y-%m-%d %H:%M:%S') ====="
|
| 7 |
+
echo "๐ฅ๏ธ Starting Z Computer Mode Server v4..."
|
| 8 |
|
| 9 |
# โโ 1. Start Virtual Display โโโโโโโโโโโโโโโโโโโโโ
|
| 10 |
pkill Xvfb 2>/dev/null || true
|
|
|
|
| 14 |
echo "โ
Xvfb started (PID: $XVFB_PID)"
|
| 15 |
sleep 2
|
| 16 |
|
| 17 |
+
# โโ 2. Export DISPLAY โโโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 18 |
export DISPLAY=:1
|
| 19 |
export XAUTHORITY=/root/.Xauthority
|
|
|
|
| 20 |
touch $XAUTHORITY
|
| 21 |
xauth generate :1 . trusted 2>/dev/null || true
|
| 22 |
echo "โ
DISPLAY=$DISPLAY"
|
| 23 |
|
| 24 |
+
# โโ 3. Start Fluxbox WM โโโโโโโโโโโโโโโโโโโโโโโโโโ
|
|
|
|
|
|
|
|
|
|
| 25 |
pkill fluxbox 2>/dev/null || true
|
| 26 |
fluxbox &
|
| 27 |
FLUX_PID=$!
|
| 28 |
echo "โ
Fluxbox started (PID: $FLUX_PID)"
|
| 29 |
+
sleep 3
|
| 30 |
+
|
| 31 |
+
# โโ 4. ุฎูููุฉ ู
ููููุฉ ูุงุถุญุฉ ุจุนุฏ Fluxbox โโโโโโโโโโโโ
|
| 32 |
+
# Fluxbox ูููุบู xsetroot โ ูุถุนูุง ุจุนุฏู ูููุฑุฑูุง
|
| 33 |
+
xsetroot -solid "#1a1a2e" 2>/dev/null || true
|
| 34 |
|
| 35 |
+
# ุงุณุชุฎุฏู
convert (ImageMagick) ูุฑุณู
ุฎูููุฉ ู
ููููุฉ ู
ุน ูุต ูุงุถุญ
|
| 36 |
+
# ุญุชู ูุนุฑู ุงูู AI ุฃู ุงูุดุงุดุฉ ุญูุฉ ูููุณุช ุณูุฏุงุก
|
| 37 |
+
convert -size 1920x1080 \
|
| 38 |
+
gradient:"#1a1a2e-#16213e" \
|
| 39 |
+
-fill "#00d4aa" \
|
| 40 |
+
-pointsize 48 \
|
| 41 |
+
-gravity Center \
|
| 42 |
+
-annotate 0 "Z AI Computer Mode โ Ready" \
|
| 43 |
+
-fill "#4a90d9" \
|
| 44 |
+
-pointsize 28 \
|
| 45 |
+
-gravity South \
|
| 46 |
+
-annotate 0 "Screen: 1920x1080 | DISPLAY=:1 | $(date '+%H:%M:%S')" \
|
| 47 |
+
/tmp/wallpaper.png 2>/dev/null && \
|
| 48 |
+
feh --bg-fill /tmp/wallpaper.png 2>/dev/null || \
|
| 49 |
+
xsetroot -solid "#1a1a2e" 2>/dev/null || true
|
| 50 |
+
|
| 51 |
+
echo "โ
Wallpaper set"
|
| 52 |
+
|
| 53 |
+
# โโ 5. Verify display works โโโโโโโโโโโโโโโโโโโโโโ
|
| 54 |
echo "๐ Testing display..."
|
| 55 |
if xdotool getdisplaygeometry 2>/dev/null; then
|
| 56 |
echo "โ
Display working!"
|
|
|
|
| 58 |
echo "โ ๏ธ xdotool test failed โ continuing anyway"
|
| 59 |
fi
|
| 60 |
|
| 61 |
+
# โโ 6. Test screenshot โโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 62 |
scrot -q 80 /tmp/test_shot.png 2>/dev/null && \
|
| 63 |
echo "โ
Screenshot test: OK" || \
|
| 64 |
echo "โ ๏ธ scrot test failed"
|
| 65 |
|
| 66 |
+
# โโ 7. Detect browser โโโโโโโโโโโโโโโโโโโโโโโโโโโ
|
| 67 |
+
if command -v firefox-esr &>/dev/null; then
|
|
|
|
|
|
|
|
|
|
| 68 |
echo "โ
Browser: firefox-esr"
|
| 69 |
BROWSER="firefox-esr"
|
| 70 |
+
elif command -v firefox &>/dev/null; then
|
| 71 |
+
echo "โ
Browser: firefox"
|
| 72 |
+
BROWSER="firefox"
|
| 73 |
elif command -v chromium-browser &>/dev/null; then
|
| 74 |
echo "โ
Browser: chromium-browser"
|
| 75 |
BROWSER="chromium-browser"
|
|
|
|
| 77 |
echo "โ ๏ธ No browser found"
|
| 78 |
BROWSER=""
|
| 79 |
fi
|
|
|
|
|
|
|
| 80 |
export DEFAULT_BROWSER="$BROWSER"
|
| 81 |
|
| 82 |
+
# โโ 8. Pre-warm Firefox (ุงุฎุชูุงุฑู โ ูุณุฑูุน ุฃูู ูุชุญ) โ
|
| 83 |
+
if [ -n "$BROWSER" ]; then
|
| 84 |
+
$BROWSER --headless --no-sandbox about:blank &>/dev/null &
|
| 85 |
+
sleep 2
|
| 86 |
+
pkill -f "headless" 2>/dev/null || true
|
| 87 |
+
echo "โ
Browser pre-warmed"
|
| 88 |
+
fi
|
| 89 |
+
|
| 90 |
echo "๐ Starting Python API on port ${PORT:-7860}..."
|
| 91 |
cd /app
|
| 92 |
exec python3 app.py
|