-
-
Save jterrace/2911875 to your computer and use it in GitHub Desktop.
xvfb init script for Ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
XVFB=/usr/bin/Xvfb | |
XVFBARGS=":1 -screen 0 1024x768x24 -ac +extension GLX +render -noreset" | |
PIDFILE=/var/run/xvfb.pid | |
case "$1" in | |
start) | |
echo -n "Starting virtual X frame buffer: Xvfb" | |
start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile --background --exec $XVFB -- $XVFBARGS | |
echo "." | |
;; | |
stop) | |
echo -n "Stopping virtual X frame buffer: Xvfb" | |
start-stop-daemon --stop --quiet --pidfile $PIDFILE | |
echo "." | |
;; | |
restart) | |
$0 stop | |
$0 start | |
;; | |
*) | |
echo "Usage: /etc/init.d/xvfb {start|stop|restart}" | |
exit 1 | |
esac | |
exit 0 |
Just for the interested.
I created the following little script that works like a charm...
#!/bin/bash
(
trap 'kill $ids' EXIT
Xvfb :8 -screen 8 1920x1080x24 -ac +extension GLX +render -noreset > /dev/null 2>&! &
ids="$ids $!"
DISPLAY=:8 java -Dwebdriver.gecko.driver=/<path to>/geckodriver -Dchrome.binary=/opt/google/chrome/chrome -Dwebdriver.chrome.bin=/usr/bin/google-chrome -Dwebdriver.chrome.driver=/<path to>/chromedriver -jar /<path to selenium>.jar -host 127.0.0.1 -port 4444 > /dev/null 2>&1 &
ids="$ids $!"
echo -e "\e[35m\e[1mSpinning up Selenium Server\e[0m"
while ! nc -z localhost 4444; do echo -en ".\e[0m" && sleep 1; done
#Your code here!#
)
What this does is that it launches Xvfb in the background and set the PID as a var.
The same happens with selenium..
Then it waits for selenium to be fully up and running by pinging the port until a valid response is received and only when that happens, then the rest of the code start..
As soon as all your code has been executed, regardless of the exit code, Xvfb is then shut down as well as Selenium forcing a clean session every time...
Thank you, very much!!!
How to render the environment in Google Colab?
xfvb-run with reset option fails with out of memory error. Did anyone fix this?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I'm suddenly getting following error. Script worked before:
any ideas what could be wrong?
Edit:
It was windows line endings. Fixed it with
sed -i 's/\r//' /etc/init.d/xvfb