init
This commit is contained in:
Executable
+74
@@ -0,0 +1,74 @@
|
||||
#!/bin/bash
|
||||
SCREEN_RESOLUTION=${SCREEN_RESOLUTION:-"1920x1080x24"}
|
||||
DISPLAY_NUM=99
|
||||
export DISPLAY=":$DISPLAY_NUM"
|
||||
|
||||
QUIET=${QUIET:-""}
|
||||
DRIVER_ARGS=""
|
||||
if [ -z "$QUIET" ]; then
|
||||
DRIVER_ARGS="--verbose"
|
||||
fi
|
||||
|
||||
clean() {
|
||||
if [ -n "$FILESERVER_PID" ]; then
|
||||
kill -TERM "$FILESERVER_PID"
|
||||
fi
|
||||
if [ -n "$XSELD_PID" ]; then
|
||||
kill -TERM "$XSELD_PID"
|
||||
fi
|
||||
if [ -n "$XVFB_PID" ]; then
|
||||
kill -TERM "$XVFB_PID"
|
||||
fi
|
||||
if [ -n "$DRIVER_PID" ]; then
|
||||
kill -TERM "$DRIVER_PID"
|
||||
fi
|
||||
if [ -n "$PRISM_PID" ]; then
|
||||
kill -TERM "$PRISM_PID"
|
||||
fi
|
||||
if [ -n "$X11VNC_PID" ]; then
|
||||
kill -TERM "$X11VNC_PID"
|
||||
fi
|
||||
}
|
||||
|
||||
trap clean SIGINT SIGTERM
|
||||
|
||||
/usr/bin/fileserver &
|
||||
FILESERVER_PID=$!
|
||||
|
||||
DISPLAY="$DISPLAY" /usr/bin/xseld &
|
||||
XSELD_PID=$!
|
||||
|
||||
if env | grep -q ROOT_CA_; then
|
||||
mkdir -p /tmp/ca-certificates
|
||||
for e in $(env | grep ROOT_CA_ | sed -e 's/=.*$//'); do
|
||||
certname=$(echo -n $e | sed -e 's/ROOT_CA_//')
|
||||
echo ${!e} | base64 -d >/tmp/ca-certificates/${certname}.crt
|
||||
done
|
||||
update-ca-certificates --localcertsdir /tmp/ca-certificates
|
||||
fi
|
||||
|
||||
/usr/bin/xvfb-run -l -n "$DISPLAY_NUM" -s "-ac -screen 0 $SCREEN_RESOLUTION -noreset -listen tcp" /usr/bin/fluxbox -display "$DISPLAY" >/dev/null 2>&1 &
|
||||
XVFB_PID=$!
|
||||
|
||||
retcode=1
|
||||
until [ $retcode -eq 0 ]; do
|
||||
DISPLAY="$DISPLAY" wmctrl -m >/dev/null 2>&1
|
||||
retcode=$?
|
||||
if [ $retcode -ne 0 ]; then
|
||||
echo Waiting X server...
|
||||
sleep 0.1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$ENABLE_VNC" == "true" ]; then
|
||||
x11vnc -display "$DISPLAY" -passwd selenoid -shared -forever -loop500 -rfbport 5900 -rfbportv6 5900 -logfile /dev/null &
|
||||
X11VNC_PID=$!
|
||||
fi
|
||||
|
||||
DISPLAY="$DISPLAY" /opt/webkit/bin/WebKitWebDriver --port=5555 --host=0.0.0.0 ${DRIVER_ARGS} &
|
||||
DRIVER_PID=$!
|
||||
|
||||
/usr/bin/prism &
|
||||
PRISM_PID=$!
|
||||
|
||||
wait
|
||||
Reference in New Issue
Block a user