Ctrl K
ComunidadGuías…

scripts/start_vnc_streaming.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/bash
# Start VNC streaming services for Skyvern
#
# This script sets up the complete VNC streaming stack:
# - Xvfb (virtual X11 display)
# - x11vnc (VNC server for the display)
# - websockify (WebSocket-to-VNC proxy)

set -euo pipefail

readonly DISPLAY_NUM=":99"
readonly SCREEN_GEOMETRY="1920x1080x24"
readonly VNC_PORT="5900"
readonly WS_PORT="6080"

log() {
    printf '%s\n' "$*"
}

is_running_exact() {
    local process_name="$1"
    pgrep -x "$process_name" > /dev/null 2>&1
}

is_running_match() {
    local pattern="$1"
    pgrep -f "$pattern" > /dev/null 2>&1
}

ensure_running() {
    local service_label="$1"
    local running_check_type="$2"  # "exact" | "match"
    local check_value="$3"
    local start_cmd="$4"

    if [[ "$running_check_type" == "exact" ]]; then
        if is_running_exact "$check_value"; then
            log "$service_label already running"
            return 0
        fi
    else
        if is_running_match "$check_value"; then
            log "$service_label already running"
            return 0
        fi
    fi

    log "Service $service_label not running. Starting..."
    eval "$start_cmd"
    log "$service_label started"
}

log "Starting VNC streaming services for Skyvern..."
log ""

ensure_running \
  "Xvfb" "exact" "Xvfb" \
  "Xvfb $DISPLAY_NUM -screen 0 $SCREEN_GEOMETRY > /dev/null 2>&1 &"

ensure_running \
  "x11vnc" "exact" "x11vnc" \
  "x11vnc -display $DISPLAY_NUM -bg -nopw -listen localhost -xkb -forever > /dev/null 2>&1"

ensure_running \
  "websockify" "match" "websockify.*${WS_PORT}" \
  "websockify $WS_PORT localhost:${VNC_PORT} --daemon > /dev/null 2>&1"


log ""
log "🎉 VNC streaming services are now running!"
log ""
log "Configuration:"
log "  - Xvfb display: ${DISPLAY_NUM}"
log "  - VNC server: localhost:${VNC_PORT}"
log "  - WebSocket proxy: localhost:${WS_PORT}"
log ""
log "To stop services:"
log "  pkill x11vnc && pkill websockify"