45 lines
948 B
Bash
Executable File
45 lines
948 B
Bash
Executable File
#!/bin/bash
|
|
# Start headless Chrome for automation
|
|
# Usage: ./chrome-start.sh [headless|gui]
|
|
|
|
MODE="${1:-headless}"
|
|
PROFILE="/tmp/chrome-clean"
|
|
PORT=9222
|
|
|
|
# Kill existing
|
|
pkill -f "chrome.*$PORT" 2>/dev/null
|
|
sleep 1
|
|
|
|
# Start Chrome
|
|
if [ "$MODE" = "gui" ]; then
|
|
DISPLAY=:10 google-chrome \
|
|
--no-sandbox \
|
|
--disable-setuid-sandbox \
|
|
--remote-debugging-port=$PORT \
|
|
--user-data-dir=$PROFILE \
|
|
--no-first-run \
|
|
--password-store=basic \
|
|
about:blank &
|
|
else
|
|
google-chrome \
|
|
--headless=new \
|
|
--no-sandbox \
|
|
--disable-setuid-sandbox \
|
|
--remote-debugging-port=$PORT \
|
|
--user-data-dir=$PROFILE \
|
|
--no-first-run \
|
|
--disable-gpu \
|
|
about:blank &
|
|
fi
|
|
|
|
sleep 3
|
|
|
|
# Verify
|
|
if curl -s http://127.0.0.1:$PORT/json/version > /dev/null 2>&1; then
|
|
echo "Chrome ($MODE) running on port $PORT"
|
|
curl -s http://127.0.0.1:$PORT/json/version | jq -r '.Browser'
|
|
else
|
|
echo "Failed to start Chrome"
|
|
exit 1
|
|
fi
|