Spaces:
Paused
Paused
| # ββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # THE Z AI β Computer Mode Startup (FIXED v4) | |
| # ββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "π₯οΈ Starting Z Computer Mode Server v4..." | |
| # ββ 1. Start Virtual Display βββββββββββββββββββββ | |
| pkill Xvfb 2>/dev/null || true | |
| sleep 0.5 | |
| Xvfb :1 -screen 0 1920x1080x24 -ac +extension GLX +render -noreset & | |
| XVFB_PID=$! | |
| echo "β Xvfb started (PID: $XVFB_PID)" | |
| sleep 2 | |
| # ββ 2. Export DISPLAY βββββββββββββββββββββββββββββ | |
| export DISPLAY=:1 | |
| export XAUTHORITY=/root/.Xauthority | |
| # Ψ₯ΩΨ΄Ψ§Ψ‘ Ω ΩΩ xauthority Ψ¨Ψ·Ψ±ΩΩΨ© Ψ’Ω ΩΨ© | |
| touch $XAUTHORITY | |
| MCOOKIE_VAL=$(mcookie 2>/dev/null || cat /proc/sys/kernel/random/uuid | tr -d '-' | head -c 32) | |
| xauth add :1 . $MCOOKIE_VAL 2>/dev/null || true | |
| echo "β DISPLAY=$DISPLAY" | |
| # ββ 3. Dark background ββββββββββββββββββββββββββββ | |
| xsetroot -solid "#0d0d0d" 2>/dev/null || true | |
| # ββ 4. Start Fluxbox WM βββββββββββββββββββββββββββ | |
| pkill fluxbox 2>/dev/null || true | |
| fluxbox & | |
| FLUX_PID=$! | |
| echo "β Fluxbox started (PID: $FLUX_PID)" | |
| sleep 2 | |
| # ββ 5. Verify display works βββββββββββββββββββββββ | |
| echo "π Testing display..." | |
| if xdotool getdisplaygeometry 2>/dev/null; then | |
| echo "β Display working!" | |
| else | |
| echo "β οΈ xdotool test failed β continuing anyway" | |
| fi | |
| # ββ 6. Test screenshot ββββββββββββββββββββββββββββ | |
| scrot -q 80 /tmp/test_shot.png 2>/dev/null && \ | |
| echo "β Screenshot test: OK" || \ | |
| echo "β οΈ scrot test failed" | |
| # ββ 7. Detect browser (firefox-esr Ψ£ΩΩΨ§Ω) βββββββββ | |
| if command -v firefox-esr &>/dev/null; then | |
| echo "β Browser: firefox-esr" | |
| BROWSER="firefox-esr" | |
| elif command -v firefox &>/dev/null; then | |
| echo "β Browser: firefox" | |
| BROWSER="firefox" | |
| elif command -v chromium-browser &>/dev/null; then | |
| echo "β Browser: chromium-browser" | |
| BROWSER="chromium-browser" | |
| else | |
| echo "β οΈ No browser found" | |
| BROWSER="" | |
| fi | |
| # Export browser name so app.py can use it | |
| export DEFAULT_BROWSER="$BROWSER" | |
| echo "π Starting Python API on port ${PORT:-7860}..." | |
| cd /app | |
| exec python3 app.py | |